最后一个点TLE,c++求助
查看原帖
最后一个点TLE,c++求助
735935
Etic_HAO楼主2022/8/24 17:15
#include<bits/stdc++.h>
using namespace std;

int a(int n){
    if (n<2) return 0;
    if (n==2) return 1;
    for(int i=2;i<=sqrt(n);i++){
        if(n%i==0) return 0;
    }
    return 1;
}

int arr[10010]={0};

int main(){
    int n,x;
    scanf("%d",&n);
    for(int i=2;i<=n;i++){
        x=i;
        for(int zs=2;zs<=i;zs+=1){
            while(a(zs)==1 && x%zs==0 && x>1){
                arr[zs]++;
                x/=zs;
            }
        }
    }
    for(int i=2;i<=n;i++){
        if(arr[i]!=0){
            printf("%d %d\n",i,arr[i]);
        }
    }
    return 0;
}
2022/8/24 17:15
加载中...