Квадрат заданного трехзначного числа равен кубу суммы цифр этого числа. Free pascal

Ответы

Ответ дал: nikitka06
4
var  a, s,d,ed, ost: integer;
begin
a:=99;
repeat 
  a:=a+1;
  s:= a div 100;
  ost:= a mod 100;
  if ost>9 then 
  begin
    d:= ost div 10 ;
    ost:=ost mod 10;
  end else d:= 0;
  if ost<10 then ed:=ost;
 until (a<1000) and (a*a=((s+d+ed)*(s+d+ed)*(s+d+ed))); 
 writeln('это число: ',a:3);
end.

nikitka06: наверно я у мамы условия не так переписал....
alamar: а я вот думаю , что автор что то намудрил с условием
alamar: потомучто нет чоткого вопроса , что нужно найти и что дано
nikitka06: все тут есть: перебираешь все двузначные числа и проверяешь, что квадрат числа равен сумме его разрядных единиц в кубе...
nikitka06: трехзначные
alamar: в таком случае таких чисел не существует
nikitka06: да, не существует
nikitka06: тип данных надо использовать не integer, а longint...
alamar: вне зависимости от типа таких чисел не существует
nikitka06: ну после цикла надо делать анализ на существование. в данном случае да, ответа нет...
Вас заинтересует