问题:求一个四位数,每一位的平方的和加起来即为这个数,求这个数,答案是7744,但是为什么我下面的程序却得不出答案??procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
a:integer;
b:integer;
c:integer;
e:integer;
begin
i:=1;
for i:=1 to 9999 do
a:=trunc(i/1000);
b:=trunc((i-1000*a)/100);
c:=trunc((i-1000*a-100*b)/10);
e:=i-1000*a-100*b-10*c;
if i=sqr(a)+sqr(b)+sqr(c)+sqr(e)
then
label1.caption:=inttostr(i);
end;end.

解决方案 »

  1.   

    老兄,你的题目是不是错了啊,还是我理解错了啊
    9999 每位的平方和是多少啊
    sum = 9*9+9*9+9*9+9*9 = 4*9*9 = 324
    这会是四位数么?
    也许我理解错了连9999的每位的平方和都小于4位数,还会有答案
      

  2.   

    在for i:=1 to 9999 do后面缺少了begin ....end;
    不然就只执行了a:=trunc(i/1000);而以
      

  3.   

    每位的立方和也没有是7744的;
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i,j:integer;
      a:integer;
      b:integer;
      c:integer;
      e:integer;
    begin
    i:=1;
    for i:=1 to 9999 do
      begin
        a:=trunc(i/1000);
        b:=trunc((i-1000*a)/100);
        c:=trunc((i-1000*a-100*b)/10);
        e:=i-1000*a-100*b-10*c;
        j:= sqr(a)*a+sqr(b)*b+sqr(c)*c+sqr(e)*e;
        if i= j then        label1.caption:=inttostr(i);
      end;end;
      

  4.   

    1、感觉题目有问题,根本不存在这样的数,自然没有显示。
    2、在for i:=1 to 9999 do后面缺少了begin ....end;  只执行了a:=trunc(i/1000)