输入一个数,求这个数因数的个数

来源:百度知道 编辑:UC知道 时间:2024/06/16 13:12:54
我想要用电脑编程把这个编出来,该怎么做呢?
……要算法就可以了~

var i,n,sum:longint;
begin
readln(n);
for i:=1 to n do//枚举1~n的数
if n mod i=0 then //能整除则是其因数
inc(sum);//累加
writeln(sum);
end.

比较朴实的算法就是从1开始试到n/2, 然后点个数. 算法复杂度On
比较高效的算法就是质因数分解然后算出来. 有近似算法复杂度是logn的多项式

朴实算法:
count=1
for i <- 2 to n/2
if (number % i == 0)
++count

最后的count就是结果