蓝桥杯 特殊回文数

题目:http://lx.lanqiao.cn/problem.page?gpid=T48

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 int ans[100];
 5 int main()
 6 {
 7     int n,ind=0;
 8     scanf("%d",&n);
 9     for (int zhong=0;zhong<=9;zhong++)//zhong为中间的数位,yi为第一位,er为第二位
10     {
11         for (int yi=1;yi<=9;yi++)
12         {
13             for (int er=0;er<=9;er++)
14             {
15                 if (2*(yi+er)+zhong==n)
16                 {
17                     ans[ind++]=yi*10000+er*1000+zhong*100+er*10+yi;
18                 }
19             }
20         }
21     }
22     for (int yi=1;yi<=9;yi++)//san为第三位
23     {
24         for (int er=0;er<=9;er++)
25         {
26             for (int san=0;san<=9;san++)
27             {
28                 if (2*(yi+er+san)==n)
29                 {
30                     ans[ind++]=yi*100000+er*10000+san*1000+san*100+er*10+yi;
31                 }
32             }
33         }
34     }
35     sort(ans,ans+ind);//注意题目要求从小到大输出!!!
36     for (int i=0;i<ind;i++)
37     {
38         printf("%d\n",ans[i]);
39     }
40 
41     return 0;
42 }

 

posted @ 2019-02-25 19:24  hemeiwolong  阅读(229)  评论(0编辑  收藏  举报