给一个区间,求该区间内 质因子个数等于k的数 的个数。
暴力预处理一下啦
#include<cstdio> #include<cstring> using namespace std; const int maxn=10000010; bool pri[maxn]; int cnt[maxn]; void init() { memset(pri,1,sizeof pri); memset(cnt,0,sizeof cnt); for(int i=2;i<=10000000;i++) { if(!pri[i]) continue; for(int j=i;j<=10000000;j+=i) { pri[j]=0; cnt[j]++; } } } int main() { freopen("homework.txt","r",stdin); freopen("outa.txt","w",stdout); init(); int T,l,r,k,i,cas=1; scanf("%d",&T); while(T--) { scanf("%d%d%d",&l,&r,&k); int ans=0; for(i=l;i<=r;i++) if(cnt[i]==k) ans++; printf("Case #%d: %d\n",cas++,ans); } return 0; }
时间: 2024-12-27 21:51:52