Знаменита математическая задачка: " Есть ли два последовательных естественных числа, сумма 

Известна математическая задачка: " Есть ли два поочередных естественных числа, сумма цифр каждого из которых делится на 7" А Вы попробуйте написать программку, которая отвечает на вопрос " есть ли два поочередных числа, не превосходящих N, сумма цифр каждого из которых делится на k?"

Входные данные: Два числа N(1lt;=Nlt;=10000000000),k (1lt;=klt;=100)
Выходные данные: Программка выводит два таких числа, если они есть,"NO"- если нет.

Задать свой вопрос
1 ответ
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.


Вера Афроськина
А почему у вас программа в конце пишет просто 'end'? Обязано же выводится или 2 числа, или "NO"?
Алиса Курчук
ну если ничего не вывело то и так ясно что не нашло, просто марока с еще одним флагом. Главный алгоритм работает, а если этот флаг так нужен то его не тяжело добавить, но мне влом писать красивости, тем более ненужные
Вика Шалик
А что тут будет флагом, просто очень необходимо оформить как следует, не могли бы вы дописать?
Крыжицкая-Некрасова Камилла
еще один булеан
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт