Pascal语言 1011:求N的所有约数和 用for 控制变量:=表达式 to do,的语句!输入一个整数N,求它的所有约数(不包含N)的和.输入整数N(0

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 17:27:00

Pascal语言 1011:求N的所有约数和 用for 控制变量:=表达式 to do,的语句!输入一个整数N,求它的所有约数(不包含N)的和.输入整数N(0
Pascal语言 1011:求N的所有约数和 用for 控制变量:=表达式 to do,的语句!
输入一个整数N,求它的所有约数(不包含N)的和.
输入
整数N(0

Pascal语言 1011:求N的所有约数和 用for 控制变量:=表达式 to do,的语句!输入一个整数N,求它的所有约数(不包含N)的和.输入整数N(0
var n,ans,i:longint;
begin
readln(n);
ans:=0;
for i:=1 to n-1 do
if n mod i=0 then inc(ans,i);
writeln(ans);
end.
//优化版:
var n,ans,i:longint;
begin
readln(n);
ans:=0;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then begin
inc(ans,i);
if in div i then inc(ans,n div i);
end;
writeln(ans+1);
end.