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

Почему не выдает числа?
uses crt;
var i:integer;
begin
for i:= 100 to 999 do
if i=((sqr(i div 100)*(i div 100)) +( (sqr(i div 10)mod 10)*(i div 10)mod 10) + (sqr(i mod 10)*i mod 10)) then
writeln (i);
end.


мышшшь: если не канает попробуй ord((sqr(i div 100)*(i div 100)) +( (sqr(i div 10)mod 10)*(i div 10)mod 10) + (sqr(i mod 10)*i mod 10))
мышшшь:  а вообще было бы неплохо для проверки завести интовую переменную например а, и перед if складывать значение скобки в а, а потом эту а сравнивать с i
Polundra32: все дело что после for нужно было вводить еще программу начало,конец.
Polundra32: спасибо за советы
мышшшь: а, и все?
Polundra32: begin
for i:= 100 to 999 do
 begin
 a:=i div 100;
 b:= (i div 10) mod 10;
 c:= i mod 10;
  z:=(a*a*a+b*b*b+c*c*c);
  if i=z then
    writeln (i);
    end;
end.
Polundra32: да
мышшшь: я поняла
мышшшь: просто там вроде одна операция, я подумала что не обязательно))
мышшшь: пожалуста))

Ответы

Автор ответа: Аноним
0
var i:integer;
begin
for i:=100 to 999 do
if i=sqr(i div 100)*(i div 100)+sqr((i div 10)mod 10)*((i div 10) mod 10)+
  sqr(i mod 10)*(i mod 10) then writeln(i)
end.

Похожие вопросы
Предмет: Математика, автор: petrusinnikita098
Предмет: Алгебра, автор: еанеа