分析:n比较小,考虑制作素数表,枚举方案。#include
#include
#include
#include
#include
#include
using namespace std;
int n;
bool isPal[20010];
void _init(void);
int main()
{
x09cin >> n;
x09
x09_init();
x09
x09for (int i=2; i
x09{
x09x09if (isPal[i])
x09x09{
x09x09x09int v = n - i;
x09x09x09int mid = v >> 1;
x09x09x09for (int j=2; j
x09x09x09{
x09x09x09x09if (isPal[j] isPal[v-j])
x09x09x09x09{
x09x09x09x09x09cout << i << ' ' << j << ' ' << v-j << endl;
x09x09x09x09x09return 0;
x09x09x09x09}
x09x09x09}
x09x09}
x09}
x09
x09return 0;
}
inline void _init(void)
{
x09memset(isPal, true, sizeof(isPal));
x09
x09isPal[1] = false;
x09
x09for (int k=2; k
x09{
x09x09if (isPal[k])
x09x09{
x09x09x09int p = k*2;
x09x09x09while (p < n)
x09x09x09{
x09x09x09x09isPal[p] = false;
x09x09x09x09p += k;
x09x09x09}
x09x09}
x09}
}您的采纳是我回答的最大动力!若有疑问可以追问哦!