蓝桥杯 基础练习 特殊回文数(C++)

资源限制

内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s

问题描述

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

输入格式

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

输出格式

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

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

思路

把五六位数看成是五个个位数或六个个位数的集合

逻辑简单易懂

代码

 1 #include"iostream"
 2 using namespace std;
 3 int main()
 4 {
 5     int n;
 6     cin>>n;
 7     int a,b,c,d,e,f;
 8     for(a=1;a<10;a++)
 9     {
10         for(b=0;b<10;b++)
11         {
12             for(c=0;c<10;c++)
13             {
14                 d=b;
15                 e=a;
16                 if(a+b+c+d+e==n)
17                 {
18                     cout<<a<<b<<c<<d<<e<<endl;
19                 }
20             }
21         }
22     }
23     for(a=1;a<10;a++)
24     {
25         for(b=0;b<10;b++)
26         {
27             for(c=0;c<10;c++)
28             {
29                 d=c;
30                 e=b;
31                 f=a;
32                 if(a+b+c+d+e+f==n)
33                 {
34                     cout<<a<<b<<c<<d<<e<<f<<endl;
35                 }
36             }
37         }
38     }
39     return 0;
40 }

运行结果:

 

posted @ 2023-05-30 16:47  慕斯卡与密斯卡  阅读(66)  评论(0)    收藏  举报