题解
2024-01-27 16:03:17
发布于:广东
7阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
bool prime[20001];
void sieve()
{
for(int i=2; i<=sqrt(20000); i++)
{
if (prime[i])
continue;
for(int j=i; j<=20000/i; j++)
prime[i*j] = 1;
}
}
int main()
{
sieve();
int n;
cin >> n;
for(int a=2; a<n; a++)
{
if(prime[a]==0)
{
for(int b=a; b<n-a; b++)
{
if(prime[b]==0 && prime[n-a-b]==0)
{
printf("%d %d %d", a, b, n-a-b);
return 0;
}
}
}
}
return 0;
}
这里空空如也
有帮助,赞一个