0分求调
查看原帖
0分求调
1495558
ygfsnd楼主2025/1/18 19:10
#include<bits/stdc++.h>
using namespace std;
int a[10005];
bool b[10005];
int main(){
	int n; cin>>n;
	for(int i=2;i<=100;i++){
		if(!b[i]){
			for(int j=2;i*j<=10000;j++){
				b[i*j]=1;
			}
		}
	}
	for(int i=2;i<=n;i++){
		int x=i;
		for(int j=2;j<=n;j++){
			if(!b[i]){
				while(x%j==0){
					a[j]++;
					x/=j;
				}
			}
		}
	}
	for(int i=2;i<=n;i++){
		if(a[i]!=0){
			printf("%d %d\n",i,a[i]);
		}
	}
	return 0;
} 
2025/1/18 19:10
加载中...