Description
给一个整数N(N<=1,000,000,000),求它的所有约数的个数。
Input
多个N
Output
答案
Sample Input
1
2
12
2
12
Sample Output
1
2
6
2
6
思路:
4的约数只有3个而不是4个,只要算前半部分就行
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
long long n,i,cnt=0,flag=1;
while (cin>>n)
{
cnt=0;
if (n==1)
{
cout<<1<<endl;
continue;
}
for (i=1; i*i<=n; i++)
{
if (n%i == 0)
{
if (i*i == n)
{
if (flag == 0)
{
flag = 1;
}
else
{
continue;
}
}
cnt++;
}
}
if ((i-1) * (i-1) == n)
{
cout<<cnt*2+1<<endl;
}
else
{
cout<<cnt*2<<endl;
}
}
return 0;
}