Помогите. Нужно написать программу, которая в последовательности чисел определяет их...

+298 голосов
5.8m просмотров

Помогите. Нужно написать программу, которая в последовательности чисел определяет их сумму и количество чётных чисел, кратных 5. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0(0 - признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести два числа: сумму последовательности и количество чётных чисел, кратных 5. Пример работы программы: Входные данные: 4, 60, 15, 0 Выходные данные: 79, 1 Нужно написать программу на языке Паскаль.


Информатика (25 баллов) | 5.8m просмотров
+143

Тут паскаль, расходимся

Дано ответов: 2
+179 голосов

Ответ:

//--- PascalABC.NET 3.6.2 ---//

begin

 var S := ReadSeqIntegerWhile(p -> p <> 0).ToList;

 S.Sum.Println;

 S.Count(p -> (p mod 5 = 0) and (p mod 2 = 0)).Println;

end.

(1.6k баллов)
+165

Ясно. Спасибо. Буду искать что-то по этому поводу.

+143

Ну а если вы хотите, что бы можно было вводить числа до 0, но при этом не больше (или не меньше) какого либо кол-ва, и что бы оно и при этом ещё проверяло модуль каждого вводимого числа, то тут железно придётся сочинять что то самому, такого в стандартной библиотеке я не наблюдал

+181

Спасибо

+141

Если вам нужно, что бы оно в процессе ещё и проверяло модуль числа на соответствие диапазону, то вероятнее всего придётся пилить подобный ввод самостоятельно, без встроенных функций

+168 голосов

// PascalABC.NET

begin

 var (s, k) := (0, 0);

 foreach var n in ReadSeqIntegerWhile(p -> p <> 0) do

 begin

   s += n;

   if n.IsEven and (n mod 5 = 0) then Inc(k)

 end;

 Print('Сумма', s, '   количество', k)

end.

(1.6k баллов)
+34

А как ограничить количество чисел и модуль введённых чисел?