原题链接:蓝桥杯历届试题-回文数字
解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main(){
int a,b,c,n,flag=1;
scanf("%d",&n);
for(a=1;a<10;a++){
for(b=0;b<10;b++){
for(c=0;c<10;c++){
if(2*a+2*b+c==n){
flag=0;
printf("%d%d%d%d%d\n",a,b,c,b,a);
}
}
}
}
for(a=1;a<10;a++){
for(b=0;b<10;b++){
for(c=0;c<10;c++){
if(2*a+2*b+2*c==n){
flag=0;
printf("%d%d%d%d%d%d\n",a,b,c,c,b,a);
}
}
}
}
if(flag)printf("-1");
}0.0分
10 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
我对你的代码做了一些优化 #include<stdio.h> int main() { int a,b,c,flag=1,i,n; scanf("%d",&n); for(i=1;i<=2;i++) for(a=1;a<10;a++) for(b=0;b<10;b++) for(c=0;c<10;c++) if(2*a+2*b+i*c==n) { flag=0; if(i==1) printf("%d%d%d%d%d\n",a,b,c,b,a); else printf("%d%d%d%d%d%d\n",a,b,c,c,b,a); } if(flag) printf("-1\n"); return 0; }和你一样,暴力美学,哈哈 int main(void) { int n, num = 0; cin>>n; for(int a=1; a<=9; a++) for(int b=0; b<=9; b++) for(int c=0; c<=9; c++) for(int d=0; d<=9; d++) for(int e=0; e<=9; e++) { if(a+b+c+d+e==n && a==e && b==d ) { cout<<a<<b<<c<<d<<e<<endl; num++; } } for(int a=1; a<=9; a++) for(int b=0; b<=9; b++) for(int c=0; c<=9; c++) for(int d=0; d<=9; d++) for(int e=0; e<=9; e++) for(int f=0; f<=9; f++) { if(a+b+c+d+e+f==n && a==f && b==e && c==d) { cout<<a<<b<<c<<d<<e<<f<<endl; num++; } } if(!num) cout<<-1; return 0; }