输入自然数N,求它的所有约数之和

program divisor;
var
   n, c, i, s : integer;
begin
     write('Please enter a positive integer: ');
     readln(n);
     c := trunc(sqrt(n));
     s := 0;
     for i := 1 to c do
         if n mod i = 0 then
            s := s+i+(n div i);
     if c*c = n then s := s-c;
     write('Divitsors''s sum: ', s);
     readln;
end.


program divisor;
var
   n, c, i, s : integer;
begin
     write('Please enter a positive integer: ');
     readln(n);
     c := trunc(sqrt(n));
     s := 0;
     i := 1;
     while i <= c do
     begin
         if n mod i = 0 then
            s := s+i+(n div i);
         i := i+1;
     end;
     if c*c = n then s := s-c;
     write('Divitsors''s sum: ', s);
     readln;
end.

posted @ 2010-01-01 20:24  SmartIOI  阅读(614)  评论(0)    收藏  举报
本站采用CC授权如需转载、引用文章,请务必附上作者及来源处。 Creative Commons License