题目描述:
定义阶乘 n ! = 1 × 2 × 3 × ⋅ ⋅ ⋅ × n
请问 100 ! (100 的阶乘)有多少个正约数。
任意一个正整数 X 都可以表示成若干个质数乘积的形式,
#include <bits/stdc++.h>
#define llu unsigned long long
using namespace std;
int a[110];
long long res=1;
int main()
{
for(int i = 2; i <= 100; i ++ )
{
int t = i;
for(int j = 2; j <= t; j ++ )
{
//如果 t可以整除j 那么有关于j的约数个数 ++
while(t % j == 0)
{
t /= j;
a[j] ++;
}
}
}
for(int i = 2; i <= 100; i ++ )
if(a[i]) res = res * (a[i] + 1);
cout << res << endl;
return 0;
}