В цикле проверяете (a mod 2) равно ли нулю, то бишь равен ли нулю остаток. Если да - число четное. одновременно с этим первое четное число кладете в переменную max, а остальные четные сравниваете с этой переменной, если какое-то число больше - его кладете в переменную max. Ясно? Если нет, могу написать программу, но лучше чтобы вам было ясно
UPD: можно через массивы, но это не хардкорно
a, max, counter : integer; begin max := 0; for counter = 1 To 15 Do begin writeln("Write ur number:"); readln(a); if (a mod 2) = 0 then if a > max then max := a; end; writeln(max); readln(); end.
Насколько я помню, в паскале невозможно реализовать бесконечный цикл, поэтому решение будет слегка притянуто за уши. Например если вы введете число из 9001 символа, программа будет работать неккоректно. Для выхода из цикла используется 'метка'.
a, counter, Summa : integer; Label Transfer; Begin writeln('Введите число'); readln(a); counter := 1; counterTw0 := counterTwo + 1; while counter < 9000 Do begin counter := counter +1; if (a div counter) < 0 then Transfer else counterTwo := counterTwo + 1; else; Goto Transfer;
//Узнали, что в числе counterTwo символов
while counter < counterTwo Do Summa := Summa + ((a div counter) mod 10);
Summa := Summa + (a mod 10); writeln(Summa); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку