Существуют натуральные числа, равные сумме кубов своих цифр. Таково, например, число 370, ибо
$$3^{3}+7^{3}+0^{3}=370.$$
Составим программу для нахождения всех таких чисел.
Эта задача интересна тем, что позволяет найти все числа, обладающие названным свойством. Но ведь ЭВМ не может проверить все числа. Значит, прежде всего надо определить интревал, в котором можно надеяться встретить такие числа. Проверим числа в промежутке [1, 2000].
Program SumCuba;
var x, {пробное число}
n, {последняя цифра}
p, {число без последней цыфры}
s:integer; {сумма кубов цифр}
begin
for x:=1 to 2000 do
begin
s:=0;
p:=x;
while p>0 do {нахождение суммы кубов цифр числа х}
begin
n:=p mod 10;
p:=p div 10;
s:=s+n*n*n
end;
if x=s then writeln(x)
end;
readln
end.
Выполнив эту программу, ЭВМ напечатала следующие числа:
$$1$$
$$153$$
$$370$$
$$371$$
$$407$$