码迷,mamicode.com
首页 > 其他好文 > 详细

(蓝桥)特殊回文数

时间:2018-02-25 20:47:19      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:特殊   namespace   包含   mat   class   pre   等于   body   blog   

问题描述

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

输入格式

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

输出格式

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

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

#include <iostream>
#include<string>
#include<sstream>
#include<map>
#include<algorithm>
#include<cmath>
using namespace std;

string intToStr(int a)
{
    ostringstream o;
    o << a;
    return o.str();
}
int strToInt(string a)
{
    stringstream ss(a);
    int t;
    ss >> t;
    return t;
}



void judge(int i,int n)
{

    string num = intToStr(i);
    string num1 = num;
    reverse(num1.begin(), num1.end());
    if (num == num1)
    {
        int sum = 0;
        for (int j = 0; j < num.length(); j++)
            sum += num[j] - ‘0‘;
        if (sum == n)
            cout << num << endl;
    }
}


int main()
{
    int n;
    cin >> n;
    for (int i = 10; i <=99; i++)
    {
        for (int j = 0; j <= 9; j++)
        {
            string num = intToStr(i);
            string num1 = num;
            reverse(num1.begin(), num1.end());
            string mid = intToStr(j);
            num = num + mid + num1;
            judge(strToInt(num), n);
        }
    }
    for (int i = 100; i <=999; i++)
    {

        string num = intToStr(i);
        string num1 = num;
        reverse(num1.begin(),num1.end());
        num += num1;
        judge(strToInt(num), n);
    }
    
    return 0;
}

(蓝桥)特殊回文数

标签:特殊   namespace   包含   mat   class   pre   等于   body   blog   

原文地址:https://www.cnblogs.com/WAoyu/p/8470355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!