Почему не выдает числа? 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
все дело что после for нужно было вводить еще программу начало,конец.
спасибо за советы
а, и все?
beginfor 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.
да
я поняла
просто там вроде одна операция, я подумала что не обязательно))
пожалуста))
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.