PascalABC.NET:
beginvar a := ReadArrInteger(ReadInteger('Введите количество чисел:')); Println('Максимальное число, кратное 5:', a.Where(c->c mod 5 =0).Max);end.Можно и в одну строчку, но тогда читабельность начинает страдать:
begin Println('Максимальное число, кратное 5:', ReadArrInteger(ReadInteger('Введите количество чисел:')).Where(c -> c mod 5 = 0).Max); end.Объяснение:ReadArrInteger(n) /// Возвращает массив из n целых чисел, введённых с клавиатуры.
ReadInteger(s) /// Выводит s и возвращает целое число, введённое с клавиатуры.
Where(predicate) /// В нашем случае он возвращает только те элементы нашей последовательности, которые кратны 5.
Max /// Возвращает максимальное число последовательности.
Пример работо программы:5
Объяснение:i := 0; S := 0;while i<2 dobegini := i + 1;S := S + i * i;end;В программе цикл, который выполняется до тех пор, пока i<2.
Изначально i = 0, S = 0. Проходим по циклу:
i:=i+1 /// Увеличиваем i на 1 (i = 0 + 1 = 1)
S:=S+i*i /// Прибавляем к S произведение i и i (S = 0 + 1*1 = 1)
i<2 ? i = 1, так что да, поэтому выполняем:
i:=i+1 /// Увеличиваем i на 1 (i = 1 + 1 = 2)
S:=S+i*i /// Прибавляем к S произведение i и i (S = 1 + 2*2 = 5)
i<2 ? i = 2, так что нет, поэтому конец.
Итак, как мы видим, S у нас равна 5.
Можем проверить, выполнив этот код:
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу для записи четырехзначного числа в обратном порядке. например: 2451--> 1542 паскаль.
//Версия 3.3, сборка 1611
begin
ReadInteger().ToString().Reverse().Select(x->x.ToDigit()).Println('');
end.