Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2012, 15:27   #1
levine
Пользователь
 
Аватар для levine
 
Регистрация: 02.05.2012
Сообщений: 13
По умолчанию Паскаль.Проверочная работа.

1)Найти все четырехзначные числа,у которых сумма крайних цифр равна сумме средних цифр,а само число делится на 6.
2)Найти кол-во делителей натурального числа.Сколько из них четных?
Помогите,пожалуйста.Я буду очень благодарна!
levine вне форума Ответить с цитированием
Старый 10.05.2012, 15:28   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Где наработки?
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 10.05.2012, 15:32   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
var i,n:integer;
begin
 for i:=1000 to 9999 do begin
  if ((i mod 10)+(i div 1000))=((i mod 1000 div 100)+(i mod 100 div 10)) and ((i mod 6)=0) then write(i:5);
 end;
 readln;
end.
Не проверял, но думаю подойдет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2012, 15:36   #4
levine
Пользователь
 
Аватар для levine
 
Регистрация: 02.05.2012
Сообщений: 13
По умолчанию

работает!
спасибо большое)

а вторую уж не поможете?

Последний раз редактировалось Stilet; 10.05.2012 в 15:39.
levine вне форума Ответить с цитированием
Старый 10.05.2012, 15:38   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вторую не. Я ее не понимэйт. Я не математик.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2012, 15:39   #6
levine
Пользователь
 
Аватар для levine
 
Регистрация: 02.05.2012
Сообщений: 13
По умолчанию

эх,спасибо за первую.
levine вне форума Ответить с цитированием
Старый 10.05.2012, 15:47   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

№1
Код:
var
        i : Integer;
        a, b, c, d : Integer;

begin
        for i := 1000 to 9999 do begin
                if i mod 6 = 0 then begin
                                a := i div 1000;
                                b := (i mod 1000) div 100;
                                c := (i mod 100) div 10;
                                d := i mod 10;
                                if (a + d) = (b + c) then
                                        Write (i, ' ')
                end
        end
end.
№2
Вот тут сложнее, есть теорема : Если существует K классов, содержащих соответственно n1 , n2 , . . . nK элементов, то число различных способов выбора элементов равно (n1 + 1)(n2 + 1)...(nK + 1)

Тогда для решения задачи необходимо разложить число x на простые множители, посчитать сколько раз встречается каждое простое число в разложении и перемножить соотвествующие результаты в соответствии с вышеприведенной формулой.
Но вот тут вопрос :
Цитата:
сколько из них четных ?
и тогда по-старинке искать все делители? уж слишком долго...
UPDATE
Код:
var
	 n, k, sq, count, countodd : LongInt;
         a : array [1..1000] of Integer;

begin
	ReadLn (n);
	sq := Trunc (sqrt(n));
        count := 1;
	for k := 1 to sq - 1 do
		if n mod k = 0 then begin
                        a[count] := k;
                        a[count + 1] := n div k;
                        Inc (count, 2)
                end;

	if n mod sq = 0 then
		if sq * sq = n then
                        a[count] := sq
                else begin
                        a[count] := sq;
                        a[count + 1] := n div sq
                end;
        Write ('Всего ', count, ' делителей');

        countodd := 0;
        for k := 1 to count do
                if Odd (a[k]) then
                       Inc (countodd);

        WriteLn ('Из них ', count - countodd, ' четных');

end.

Последний раз редактировалось Poma][a; 10.05.2012 в 16:04.
Poma][a вне форума Ответить с цитированием
Старый 10.05.2012, 16:09   #8
levine
Пользователь
 
Аватар для levine
 
Регистрация: 02.05.2012
Сообщений: 13
По умолчанию

что это?что такое count?inc,counodd?
можно без всего этого обойтись?
ну то есть я знаю простые функции типа trunc,sqrt,типы переменных.
проще никак нельзя?
levine вне форума Ответить с цитированием
Старый 10.05.2012, 16:12   #9
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

А справки нет? Или учебника? Или хотя бы своих наработок?
Inc (a) = a := a + 1
count и countodd - названия переменных
Poma][a вне форума Ответить с цитированием
Старый 10.05.2012, 16:21   #10
levine
Пользователь
 
Аватар для levine
 
Регистрация: 02.05.2012
Сообщений: 13
По умолчанию

извиняйте уж.
учебников действительно нет,нынче школьная программа такова,что в учебников все не то написано.
спасибо большое)
levine вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПАСКАЛЬ РАБОТА С МАТРИЦАМИ! as1212 Помощь студентам 10 11.10.2011 05:59
Паскаль. проверочная работа matrinishna Помощь студентам 2 16.01.2011 15:27
работа с файлами в паскаль... Оксаночка:) Помощь студентам 1 19.06.2009 09:59