begin for a : = 1000 to 9999 do begin c1 : = a div 1000; c2 : = (a div 100) mod 10; c3 : = (a div 10) mod 10; c4 : = a mod 10; if (c1 < > c2) and (c1 < > c3) and (c1 < > c4) and (c2 < > c3) and (c2 < > c4) and (c3 < > c4) then writeln(a); end; end.
Ответ дал: Гость
есть пара неясностей в условии. если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
и еще кое-что: если нужно хотя бы 4 делителя, то оставьте все как есть, а если нужно ровно четыре делителя, в строчке if k> =4 then write(i: 3); уберите знак > .
Популярные вопросы