Если дальше завершить программу, то получим это: program HelloWorld; function ez(a: longint): boolean; var c: integer; begin ez := a >= 2; for c := 2 to trunc(sqrt(a)) do if a mod c = 0 then ez := false end; var i, k: integer; num: array [1 .. 100] of integer; begin for i := 0 to 99 do num[i+1] := i + 1; k := 0; i := 1; while k < 7 do begin if ez(num[i]) = true then k := k + 1; i := i + 2; end; write(num[i-2]); end. ответ 19
Начнем с того, что мах десятичное 4-хзначное число это 9999. мах сумма будет 9*4=36 мах произ-ие 9*9*9*9=6561 невозрастание это убывание или равенство
Число 63 разделим его на 2 числа, т.к. вычисляются 2 числа. Получаем 6 и 3. 6 и 3 - убывание 1) Предположим, что 6-произведение, а 3-сумма, тогда 6=2*3*1*1 (4 числа, т.к. по условию у нас 4-хзначное число), но тогда 3=2+3+1+1. Значит неправильное предположение. 2) 3-произведение, а 6-сумма, тогда 3=3*1*1*1, а 6=3+1+1+1. Все сходится. Вывод: число 63 нам подходит.
Число 89. числа 8 и 9. возрастание. Вывод: не подходит
Число 98 9 и 8. убывание 1) Начнем с того, что 9-произведение, а 8- сумма 9=3*3*1*1, 8=3+3+1+1 Вывод: подходит
Число 200. 20 и 0. И никак иначе. Т.к. чисел 2 и 00 быть не может. убывание 1) 0-логично, что это пр-ие, т.к. суммой быть не может, значит 20-сумма 20=9+9+2+0 Вывод: подходит
Число 291. числа 29 и 1, т.к. только так у нас будет убывание. 1) 1 суммой быть не может. 29-сумма, однако если 1-пр-ие, то только 1=1*1*1*1, но 29≠1+1+1+1 Вывод: не подходит
Число 1311 только 13 и 11 ни 13 ни 11 не могут быть пр-ием, т.к. умножаться и складываться могут только числа от 0 до 9 Вывод: не подходит
Число 656136. Видно, что мы можем поделить его на 6561 и 36. убывание. Оба числа-максимумы, значит Вывод: подходят
Число 756423. Одно из чисел не может быть больше 36, а также порядок невозрастания должен соблюдаться. Значит 7564 и 23. Одно из чисел все равно не входит в мах, значит Вывод: не подходит
program HelloWorld;
function ez(a: longint): boolean; var c: integer; begin ez := a >= 2; for c := 2 to trunc(sqrt(a)) do if a mod c = 0 then ez := false end; var i, k: integer; num: array [1 .. 100] of integer;
begin for i := 0 to 99 do num[i+1] := i + 1; k := 0; i := 1; while k < 7 do begin if ez(num[i]) = true then k := k + 1; i := i + 2; end; write(num[i-2]); end.
ответ 19