为什么超时了?#1电脑上跑只用0.3秒。求解答
查看原帖
为什么超时了?#1电脑上跑只用0.3秒。求解答
1177583
NorlandAlice楼主2024/7/26 01:12
#include<bits/stdc++.h>
using namespace std;

int a[10000];
int ff(int x){
while(x%2==0)a[2]++,x/=2;
for(int i=3;i<=x;i+=2){
	while(x%i==0)a[i]++,x/=i;
}
}

int main(){
int n;
cin>>n;
for(int i=2;i<=n;i++){
	if(i==2||i==3)a[i]++;
	else ff(i);
}
printf("2 %d\n3 %d\n",a[2],a[3]);
for(int i=5;i<9999;i+=2){
	if(a[i]!=0)printf("%d %d\n",i,a[i]);
}
return 0;}
2024/7/26 01:12
加载中...