历届试题 回文数字
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数。
输入格式
一个正整数 n (10
#include <cmath>
#include <cstdio>
#include <algorithm>
#include <stack>
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
int flag=0;
for(int i=10000;i<1000000;i++)
{
if(i<=99999)
{
int n1=i/10000%10;
int n2=i/1000%10;
int n3=i/100%10;
int n4=i/10%10;
int n5=i%10;
if(n1==n5&&n2==n4&&n1+n2+n3+n4+n5==n)
{
flag=1;
cout<<i<<endl;
}
}
else
{
int n0=i/100000%10;
int n1=i/10000%10;
int n2=i/1000%10;
int n3=i/100%10;
int n4=i/10%10;
int n5=i%10;
if(n0==n5&&n1==n4&&n2==n3&&n0+n1+n2+n3+n4+n5==n)
{
flag=1;
cout<<i<<endl;
}
}
}
if(!flag)
cout<<"-1"<<endl;
return 0;
}