啊啊啊!用什么方法才能累和成n?救救我这只蒟蒻吧...

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

决心少年 @ 2019-08-15 18:58:07

放代码:

include<bits/stdc++.h>

using namespace std; int a[20001],n; int zs(int n) { int i,j,num=1; for(i=1;i<=n;i++) for(j=1;j<=sqrt(i);j++) { if(i%j==0) break; else if(j==sqrt(i)) { a[num]=i; num++; } } } int main () { int n,i; cin>>n; zs(n); for(i=1;i<=n;i++) { if(a[i]+a[i+1]+a[i+2]==n) { cout<<a[i]<<a[i+1]<<a[i+2]; break; } }

}


by 决心少年 @ 2019-08-16 11:06:16

@Daniel_WFY_923 谢谢,但能给个代码吗?


by 决心少年 @ 2019-08-16 11:06:41

@123456L 谢谢,但能给个代码吗?


by OvOAuto @ 2019-08-16 11:19:03

@秦时明月zqy

#include <bits/stdc++.h>
using namespace std;

int n;

bool prime(int x){
    if(x < 2)
        return false;
    for(int i = 2;i * i <= x;i++)
        if(!(x % i))
            return false;
    return true;
}

int main()
{
    cin>>n;
    for(int i = 2;i <= n - 4;i++)
        for(int j = 2;j <= n - i - 2;j++)
            if(prime(i) && prime(j) && prime(n - i - j)){
                cout<<i<<' '<<j<<' '<<n - i - j;
                return 0;
            }
    return 0;
}

by 决心少年 @ 2019-08-16 11:25:04

@Daniel_WFY_923

谢谢!!!

(来自蒟蒻的仰望)


by Charlie查理 @ 2019-08-21 20:50:56

我有个笨方法其实就是打表,但是很简单,一看就懂的那种:代码


上一页 |