思路
题意是求 的因数中有多少个七五数。
把 分解一下,即 。
如果要让因数 有 个因数,则有如下几种情况:
1. ,且 ,因为 ,所以 为 。
2. ,且 ,所以 为 或者 。
3.,可知 。
把 分解之后每个因数枚举一下即可。
:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e5 + 10;
int a[N];
int n;
bool is_prime(int k) {
if (k <= 1) {
return 0;
}
for (int i = 2; i * i <= k; i++) {
if (k % i == 0) {
return 0;
}
}
return 1;
}
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
if (is_prime(i)) {
int tmp = 1, cnt = 0;
while (tmp * i <= n) {
tmp *= i;
cnt += n / tmp;
}
a[cnt]++;
}
}
for (int i = 100; i >= 1; i--) a[i] += a[i + 1];
cout << a[74] + a[4] * (a[4] - 1) / 2 * (a[2] - 2) + a[24] * (a[2] - 1) + a[14] * (a[4] - 1);
return 0;
}