Предмет: Информатика, автор: realvad

Найти все натуральные числа, не превосходящие заданного N и равные сумме кубов его цифр.

var i,j,k : byte;
begin
for i:=1 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
if i*i*i + j*j*j + k*k*k = i*100+j*10+k then writeln(i,j,k);
readln;
end.

Как сделать ввод самих значений, чтобы программа соответствовала заданию?




var i,j,k,n: integer;
begin

write('Введите значение n=');
readln(n);
begin
for i:=1 to n do
for j:=0 to n do
for k:=0 to n do
if i*i*i + j*j*j + k*k*k = i*100+j*10+k then writeln(i,j,k);
readln;
end;
end.

Или как правильнее написать программу?

Ответы

Автор ответа: contrlc
0
var
  n, s,i,j: integer;

 begin
  read(n);
  for i := 1 to n.ToString.Length do
  s := s + round(power(strtoint(n.ToString[i]), 3));

  for i := 1 to n do if(i = s) then writeln(i);
end.
Похожие вопросы