蓝桥杯 阶乘约数
3.阶乘约数 - 蓝桥云课
阶乘约数
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所结结果输出即可。
定义阶乘 n! = 1 × 2 × 3 × ... × n。
请问 100!(100 的阶乘)有多少个正约数。
运行限制
- 最大运行时间:1s
- 最大运行内存:128M
总通过次数:5460 | 总提交次数:6134 | 通过率:89%
难度:困难 标签:2020、国赛、数学
思路:
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll prime[110];
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll n = 100;for(ll i = 2 ; i <= n ; i++)//分解每一个数的质因数 {ll k = i;for(ll j = 2 ; j <= k ; j++)//分解第i数字的质因数{while(k % j == 0){prime[j]++;k /= j; } }}ll sum = 1;for(ll i = 2 ; i <= n ; i++){if(prime[i]){sum *= (prime[i] + 1);}}cout << sum;return 0;
}