1
2025-11-14 17:21:23
发布于:浙江
12阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const ll N = 1e6 + 10;
bitset<N> Prime;
vector<ll> v;
void __init() {
for(ll i=2;i<=N/i;i++) {
if (Prime[i])continue;
for(ll j=i*2;j<=N;j+=i) {
Prime[j] = true;
}
}
for(ll i=2;i<=N;i++) {
if(Prime[i])continue;
v.push_back(i);
}
}
int main() {
__init();
//cout << v.size() << endl;
ll n;
cin >> n;
int ans = 0;
for(int i=0;i<v.size();i++) {
ll a = v[i] * v[i];
if (a > n)break;
for(int j=i+1;j<v.size();j++) {
ll b = v[j];
if (a * b > n)break;
for(int k=j+1;k<v.size();k++) {
ll c = v[k] * v[k];
if (a * b * c > n)break;
ans++;
}
}
}
cout << ans << endl;
return 0;
}
这里空空如也







有帮助,赞一个