解题思路:





注意事项:





参考代码:

#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");
}


点赞(20)
 

0.0分

10 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 12 条评论

阳春 3年前 回复TA
机智啊太机智了
萌猫 3年前 回复TA
我自己写的只能实现部分案例。。。。
pyuanstyle 4年前 回复TA
@林夕 厉害
林夕 4年前 回复TA
我对你的代码做了一些优化
#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;
}
吴习文 5年前 回复TA
牛逼 逼逼逼
fenny 5年前 回复TA
和你一样,暴力美学,哈哈

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;
}
fenny 5年前 回复TA
@逻辑幻象 不算
逻辑幻象 5年前 回复TA
n=12的情况下
033330算不算回文?
君应怜 5年前 回复TA
@我本无心_ 递增过去判断,你说是不是从小到大
浅滩 6年前 回复TA
我优化了你的代码