输入一个正整数N,求出这个数字存在多少个因子,以及因子之和。
输入格式:
存在多组测试数据,每组测试数据输入一个正整数N(1<=N<=10^9)
输出格式:
对于每组测试数据输出一行,包含两个数字,分别是因子数和因子和。
输入样式:
12
47
35
输出样式:
6 28
2 48
4 48
#include <stdio.h>
#include <math.h>
int main()
{
long long n,s;
int i,m;
m=2;
s=1;
while(scanf("%lld",&n) != EOF){
if(n!=1){
s+=n;
for(i=2;i<=sqrt(n);i++){
if(n%i==0&&n/i!=i){
m=m+2;
s=s+i+n/i;
}
else if(n%i==0&&n/i==i){
m++;
s+=i;
}
} printf("%d %lld\n",m,s);
m=2;
s=1;
}
else printf("1 1\n");
}
return 0;
}