蓝桥杯 特殊回文数
题目: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 }