题目意思
给你一个数n,让你求出5位和6位数的和值是n的回文数并输出。
解题思路
跟我们平时做的回文串问题一样,就是将5位到6位数遍历一遍输出其中和值为n的回文数就可以了。
代码部分
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
bool flag=false;
for(int i=10000; i<1000000; i++)
{
int num[10];
int ans=0,t=0,s;
s=i;
while(s)
{
num[t++]=s%10;
ans+=s%10;
s/=10;
}
bool flag1=true;
for(int l=0,j=t-1; j>=0; l++,j--)
{
if(num[l]!=num[j])
{
flag1=false;
}
}
if(flag1&&ans==n)
{
cout<<i<<endl;
flag=true;
}
}
if(flag==false)
{
cout<<"-1"<<endl;
}
return 0;
}