Известна математическая задача: " Существуют ли два последовательных натуральных числа, сумма цифр каждого из которых делится на 7" А Вы попытайтесь написать программу, которая отвечает на вопрос " существуют ли два последовательных числа, не превосходящих N, сумма цифр каждого из которых делится на k?"
Входные данные: Два числа N(1<=N<=10000000000),k (1<=k<=100)
Выходные данные: Программа выводит два таких числа, если они существуют,"NO"- если нет.
Ответы на вопрос
Ответил archery
0
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.
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.
Ответил archery
0
ну если ничего не вывело то и так ясно что не нашло, просто марока с еще одним флагом. Основной алгоритм работает, а если этот флаг так нужен то его не трудно добавить, но мне влом писать красивости, тем более ненужные
Ответил MrDrozd97
0
А что тут будет флагом, просто очень нужно оформить как следует, не могли бы вы дописать?
Ответил archery
0
еще один булеан
Новые вопросы
Математика,
2 года назад
Математика,
2 года назад
История,
9 лет назад
Химия,
9 лет назад
Математика,
9 лет назад