#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=9;i++)
{
for(int j=0;j<=9;j++)
{ if(n%2==0)
for(int m=0;m<=9;m+=2)
{
if((i+j)==(n-m)/2)
printf("%d%d%d%d%d\n",i,j,m,j,i);
}
else
for(int m=1;m<=9;m+=2)
{
if((i+j)==(n-m)/2)
printf("%d%d%d%d%d\n",i,j,m,j,i);
}
}
}
if(n%2==0)
for(int i=1;i<=9;i++)
{
for(int j=0;j<=9;j++)
{
for(int k=0;k<=9;k++)
{
if( (i+j+k)==(n/2) )
printf("%d%d%d%d%d%d\n",i,j,k,k,j,i);
}
}
}
return 0;
}
特殊点:
1、五位的情况:千位数字的奇偶由n的值决定,n为偶数,则千位数字为偶数,反之则奇数;
2、 注意10001、100001这类数字出现的情况,否则会导致程序功能缺失,以至于程序无法得满分。