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

0 голосов
70 просмотров

Найти все натуральные числа, не превосходящие заданного 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.

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


Информатика (15 баллов) | 70 просмотров
0

Нет , не так)))

Дан 1 ответ
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.

(3.7k баллов)
0

Подскажите, а какой идентификатор ожидается в for var i := 1 to n.ToString.Length do

0

Спасибо. Подкорректировал и всё работает!