0
点赞
收藏
分享

微信扫一扫

试题 基础练习 特殊回文数C++

天蓝Sea 2022-02-19 阅读 53

资源限制

时间限制:1.0s 内存限制:512.0MB

问题描述

  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

  输入一行,包含一个正整数n。

输出格式

  按从小到大的顺序输出满足条件的整数,每个整数占一行。

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

解题思路:

分别计算出每一位的数字(五位数和六位数两种情况)

代码:

#include<iostream>
using namespace std;
int main()
{
	int i,n;
	int a,b,c,d,e,f;
	cin>>n;
	for(i=10000;i<=1000000;i++)
	{
		a=i/100000;
		b=(i/10000)%10;
		c=(i/1000)%10;
		d=(i/100)%10;
		e=(i%100)/10;
		f=i%10;
		if(a==0&&(b+c+d+e+f)==n&&b==f&&c==e)
		{
			cout<<b<<c<<d<<e<<f<<endl;
		}
		else if(a!=0&&(a+b+c+d+e+f)==n&&a==f&&b==e&&c==d)
		{
			cout<<a<<b<<c<<d<<e<<f<<endl;
		}
	}
	return 0;
}
举报

相关推荐

0 条评论