wa了三个点,求助巨佬!!!
查看原帖
wa了三个点,求助巨佬!!!
46090
陶潜2006楼主2021/8/7 11:15
#include<bits/stdc++.h>
using namespace std;
int ip[10000],prime[10000];
int cnt,n;
int a[10000];
void oula(int maxx){
	memset(ip,1,sizeof(ip));
	ip[0]=0;
	ip[1]=0;
	for(int i=2;i<=maxx;i++){
		if(ip[i])
		  prime[++cnt]=i;
		for(int j=1;j<=cnt && i*prime[j]<=maxx;j++){
			ip[i*prime[j]]=0;
			if(i%prime[j]==0)
			  break;
		}
	}
}
int main(){
	oula(10000);
	cin>>n;
	for(int i=2;i<=n;i++){
		int ii=i;
		for(int j=1;j<=i;j++){
			while(ii%prime[j]==0){
				a[j]++;
				ii/=prime[j];
			}
		}
	}
	for(int i=1;i<=10000;i++)
		if(a[i]!=0)
			cout<<prime[i]<<" "<<a[i]<<endl;
	return 0;
}
2021/8/7 11:15
加载中...