Добрый день. Пытаюсь решить такую задачу: найти число, состоящее только из цифр 0 и 7, которое делится на заданное число без остатка. Т.е. вводим 1, получаем 7; вводим 2 -> 70; 3 -> 777, и т.д.
Вроде всё понятно, но не знаю с какого конца к задачке подобраться( Вобщем нашёл в инете такое решение:
Код: Выделить всё
var a, c, n : integer;
b : boolean;
begin
readln(n);
a:=6;
repeat
b:=true;
inc(a);
if a mod n=0 then begin {зачем тут проверять условие, если без него то же самое?}
c:=a;
repeat
if (c mod 10=7)or(c mod 10=0)then c:=c div 10
else begin b:=false; c:=0; end;
until c=0;
end;
until (a mod n =0)and b;
write(a);
readln;
end.
Код вроде рабочий, но если честно, ничего не понял (нет, что такое циклы и условия знаю конечно, неясен сам алгоритм.) Пожалуйста, объясните кто-нибудь, что тут да как, можно в виде комментов. Или кто может, предложите свой вариант (хотя бы алгоритма). Заранее спасибо огромное.