输入一个自然数n,求这个数所有约数的和。
pascal吧
全部回复
仅看楼主
level 4
519544862 楼主
输入一个自然数n,求这个数所有约数的和。
2012年12月02日 09点12分 1
level 1
var n,i,ans:longint;
begin
readln(n);
ans:=0;
for i:=1 to trunc(sqrt(n)) do
if n mod i=0 then ans:=ans+i+(n div i);
if trunc(sqrt(n))=sqrt(n) then dec(ans,trunc(sqrt(n))); {完全平方数的平方根算了两次}
writeln(ans);
readln;
end.
2012年12月07日 07点12分 2
level 1
如12=2^2*3,约数和=(1+2+4)*(1
+3
)=(2^0+2^1+2^2)*(3^0+3^1).
2013年08月02日 14点08分 3
level 1
11111
18888888888
8888888888888888888888888888888
2016年11月21日 11点11分 4
1