TLE 90 蒟蒻在线求忙!!!

P1579 哥德巴赫猜想(升级版)

mese @ 2022-04-13 17:25:39

写完提交80分; 改了第一层循环和第二层循环又AC了一个点 再改好像没效果了

#include<bits/stdc++.h>
using namespace std;
bool sushu(int a) {
    for(int i=2;i*i<=a;i++)if(a%i==0)return 0;
    return 1;

}
int main() {
    int n,flag=0;
    cin>>n;
    for(int i=2; i<=n/3; i++) {
        if(sushu(i)) {
            for(int j=2; j<=n/2; j++) {
                if(sushu(j)) {
                    for(int l=2; l<=n; l++) {
                            if(sushu(l)){
                                if(i+j+l==n){
                                    cout<<i<<' '<<j<<' '<<l;
                                    flag=1;
                                    break;
                            }
                        }
                    }
                }
                if(flag==1)break;
            }
        }
        if(flag==1)break;
    }

    return 0;
}

by caramel_qwq @ 2022-04-13 17:26:47

@ABcED

建议加入筛法并替换开方求素数。


by mese @ 2022-04-13 17:33:50

已采纳,哈哈哈


by joy2010WonderMaker @ 2022-04-13 18:29:54

@ABcED 其实您只要卡一点点常就能过了


by mese @ 2022-07-21 13:24:35

@joy2010WonderMaker

谢谢大佬的建议

|