Известна математическая задача: "Существуют ли два последовательных натуральных числа, сумма цифр каждого из которых делится на 7?" Напишите программу, которая отвечает на вопрос: "Существуют ли два последовательных числа, не превосходящих N, сумма цифр каждого из которых делится на k?"
Входные данные. Два числа N (1 \leq N \leq 10000000000), k (1 \leq k \leq 100)
Выходные данные. Программа выводит два таких числа, если они существуют, "NO" - если нет.

1

Ответы и объяснения

Лучший Ответ!
2013-10-24T19:57:08+04:00

Это Проверенный ответ

×
Проверенные ответы содержат надёжную, заслуживающую доверия информацию, оценённую командой экспертов. На "Знаниях" вы найдёте миллионы ответов, правильность которых подтвердили активные участники сообщества, но Проверенные ответы - это лучшие из лучших.
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.