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

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

Показать ответ
Ответ:
Оля010720
Оля010720
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 оценок)
Ответ:
Artyom20076
Artyom20076
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-бота