决心少年 @ 2019-08-15 18:58:07
放代码:
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
我有个笨方法其实就是打表,但是很简单,一看就懂的那种:代码