Известна математическая задача: "Существуют ли два последовательных натуральных числа, сумма цифр каждого из которых делится на 7?" Напишите программу, которая отвечает на вопрос: "Существуют ли два последовательных числа, не превосходящих [tex]N[/tex], сумма цифр каждого из которых делится на [tex]k[/tex]?"
Входные данные. Два числа [tex]N (1 \leq N \leq 10000000000), k (1 \leq k \leq 100)[/tex]
Выходные данные. Программа выводит два таких числа, если они существуют, "NO" - если нет.
Answers & Comments
Verified answer
Var k, j, sum:integer;n,i:longint;
prev,cur, found :boolean;
s:string;
Begin
read(n,k);
for i := 2 to n do begin
s := inttostr(i);
sum := 0;
for j := 1 to length(s) do
sum := sum + strtoint(s[j]);
cur := (sum mod k) = 0;
found := found or (prev and cur);
if prev and cur then
writeln(i - 1,' ',i);
prev := cur;
end;
if not found then writeln('NO');
End.