В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
aika113
aika113
20.10.2020 11:21 •  Информатика

Напишите программу, которая находит все числа в диапазоне от a до b , сумма цифр которых не меняется при умножении на 2, 3, 4, 5, 6, 7, 8 и 9 (например, число 9). используйте функцию для вычисления суммы цифр числа. простым для начинающих входные данные входная строка содержит два натуральных числа – границы диапазона a и b . гарантируется, что a ≤ b . выходные данные программа должна вывести все числа, удовлетворяющий условию, в одной строке, разделив их пробелами. примеры входные данные 1 10 выходные данные 9

Показать ответ
Ответ:
Andrey1privet4
Andrey1privet4
08.10.2020 08:39
Program n1;
function sumdig(x: integer): integer;
var sum: integer;
begin
sum:=0;
while x<>0 do
begin
sum:=sum+x mod 10;
x:=x div 10;
end;
sumdig:=sum;
end;
function opr(x: integer): boolean;
var i,k: integer;
begin
opr:=false;
k:=0;
for i:=2 to 9 do if sumdig(x)=sumdig(x*i) then k:=k+1;
if k=8 then opr:=true;
end;
var a,b,i: integer;
begin
readln(a,b);
for i:=a to b do if opr(i) then write(i,' ');
end.
0,0(0 оценок)
Ответ:
Vareniki0513
Vareniki0513
08.10.2020 08:39
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

function Sod(Self:integer):integer; extensionmethod;
begin
  Result:=0;
  while Self<>0 do begin
    Result+=Self mod 10;
    Self:=Self div 10
    end
end;

function IsGood(Self:integer):boolean; extensionmethod;
begin
  var sd:=Self.Sod; Result:=True;
  for var i:=2 to 9 do begin
    Result:=(i*Self).Sod=sd;
    if Result=False then Exit
    end
end;
    
begin
  var (a,b):=ReadInteger2;
  Range(a,b).Where(t->t.IsGood).Println
end.

Пример
1 1000
9 18 45 90 99 180 198 297 396 450 495 549 594 693 792 819 891 900 909 918 945 990 999
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота