时间限制: 1000 ms 空间限制: 262144 KB
题目描述
对于任意给定的一个正整数,计算其因数个数。
输入样例:
6
输出样例:
4
说明:
1、2、3、6都是6的因数。因此,输出4。
输入
输入正整数N。
输出
输出N的因子个数。
样例输入
6
样例输出
4
数据范围限制
1<=N<2^31
提示
1、2、3、6都是6的因数。因此,输出4。
问题分析
用穷举法进行计算,尽量减少穷举的次数。
若a*b=n且a
程序说明
(略)
要点详解
没有找到好方法就只好用穷举法。
像计算平方根这样的计算,要尽量少计算。
100分通过的C语言程序:
#include
#include
int main(void)
{
int n, end, count, i;
scanf("%d", &n);
count = 0;
end = sqrt(n);
for(i=1; i<=end; i++)
if(n % i == 0)
count += 2;
if(end * end == n)
count -= 1;
printf("%d\n", count);
return 0;
}