4. первоклассные числа ограничения: время - 200мс, память - 256мб если взять натуральное число и найти сумму квадратов его цифр, затем сумму квадратов цифр результата и так далее, то через несколько шагов для некоторых из чисел получится число 1. такие числа будем называть первоклассными. например, первоклассным будет число 19, так как 1^2+9^2=82, 8^2+2^2=68, 6^2+8^2=100, 1^2+0^2+0^2=1. числа 2 или 5 первоклассными не являются. напишите программу, которая находит количество первоклассных чисел среди чисел в диапазоне от а до в включительно. первая строка ввода содержит два целых чисел а, в. вывести одно целое число - количество первоклассных чисел среди чисел в диапазоне от а до в. пример ввода1. пример вывода1 5. 4 4 5 6 3 7. пример ввода 2. пример вывода 2 3 9 5 6. 1
Ответы на вопрос:
function суммаквадратовцифр(число: integer): integer;
begin
result : = 0;
while число > 0 do
begin
result += sqr(число mod 10);
число : = число div 10
end
end;
function числопервоклассное(число: integer): boolean;
begin
число : = abs(число); // защита от злобных буратинок
var l: =new sortedset< integer> ;
l.add(число);
repeat
case число of
0, 2, 3:
begin
result : = false;
exit
end;
1:
begin
result : = true;
exit
end;
else
begin
число : = суммаквадратовцифр(число);
if l.contains(число) then
begin
result: =false;
exit
end
else l.add(число)
end
end
until false // бесконечный цикл
end;
begin
var (нижняяграница, верхняяграница) : = readinteger2;
var количество : = 0;
for var очередноечисло : = нижняяграница to верхняяграница do
if числопервоклассное(очередноечисло) then inc(количество);
количество.println
end.
1 100 20Популярно: Информатика
-
Амаз12304.01.2023 06:02
-
uliana3murrr24.04.2021 01:42
-
apple12217.10.2021 00:52
-
AzaLin125.10.2022 23:56
-
BeemayaS11.02.2023 19:12
-
Anonim78e15.03.2023 08:24
-
yroyakap0doki20.06.2021 08:07
-
mahotinvasili19.03.2023 08:38
-
Элла0329.06.2023 18:15
-
anchobaby16.02.2020 17:18