蓝桥杯练习系统BASIC-9 特殊回文数(c++利用流和字符串)

试题 基础练习 特殊回文数

资源限制

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

问题描述

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

输入格式

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

输出格式

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

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

1<=n<=54。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int m;
	cin>>m;
	string a,b;
	stringstream ss;
	for(int i=10000;i<=999999;i++){
		int sum=0;
		ss<<i;
		ss>>a;
		ss.clear();
		b=a;
		reverse(b.begin(),b.end());
		if(b!=a){
			continue;
		}
		for(int j=0;j<a.size();j++){
			sum+=a[j]-'0';
		}
		if(sum==m){
			cout<<a<<endl;
		}
	}
	return 0;
}


版权声明:本文为weixin_53037232原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。