Напишите программу, которая находит все числа в диапазоне от a до b , сумма цифр которых не меняется при умножении на 2, 3, 4, 5, 6, 7, 8 и 9 (например, число 9). используйте функцию для вычисления суммы цифр числа. простым способом, для начинающих входные данные входная строка содержит два натуральных числа – границы диапазона a и b . гарантируется, что a ≤ b . выходные данные программа должна вывести все числа, удовлетворяющий условию, в одной строке, разделив их пробелами. примеры входные данные 1 10 выходные данные 9
278
373
Ответы на вопрос:
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.
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
Популярно: Информатика
-
rekomc23.03.2021 03:09
-
12344312310.05.2020 10:27
-
sviatolavbazil18.04.2021 21:15
-
monyamirzoeva30.11.2022 00:38
-
jvhhvcx08.08.2020 01:16
-
your1people16.02.2023 11:28
-
sasha766613.03.2023 08:01
-
shaduraalya06.04.2023 02:24
-
Якрутой11131.03.2023 23:14
-
Zlatasolnce25.09.2021 20:11