题目:
问题描述:
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式:
输入一行,包含一个正整数n
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
输入示例
52
输出示例
899998
989989
998899
**数据规模和约定**
1<=n<=54。
#include<iostream>
using namespace std;
int main()
{
int n;
int a[3];
int m=1,s[100];
scanf("%d",&n);
for(int i=1;i<=9;i++)
{
a[0]=i;
for(int j=0;j<=9;j++)
{
a[1]=j;
for(int k=0;k<=9;k++)
{
a[2]=k;
if(2*a[0]+2*a[1]+a[2]==n)
printf("%d\n",10001*a[0]+100*a[2]+1010*a[1]);
if(2*(a[0]+a[1]+a[2])==n)
{
s[m]=100001*a[0]+1100*a[2]+10010*a[1];
m+=1;
}
}
}
}
if (s[1]!=0)
{
for(int i=1;i<m;i++)
{
printf("%d\n",s[i]);
}
}
return 0;
}