蓝桥杯基础练习——特殊回文数(Java)编写思路及其代码

该博客介绍了蓝桥杯编程竞赛中关于特殊回文数的问题,详细阐述了如何使用Java编写解决方案。内容包括理解题意、设定循环结构以及通过判断与排序来找出符合条件的五位和六位回文数。
摘要由CSDN通过智能技术生成

蓝桥杯基础练习——特殊回文数(Java)详尽编写思路及其代码

此题要求如下:

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


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


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


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


样例输入
52


样例输出
899998
989989
998899


数据规模和约定
1<=n<=54。

初见此题,先大致明析其目的:
 从问题描述中,我们知道需要输入n,输出所有的五、六位十进制回文数,要求各位之和为n。
 从输出格式中,我们知道需要对结果排序且换行输出。


在了解以上目的之后,开始对流程进行细化:
 输入自不必细言,利用Scanner类创建对象再赋值给变量n

import java.util.Scanner;

Scanner sr = new Scanner(System.in);
int n = sr.nextInt();

 而关于对回文数的输出,则必然用到for循环来进行比较判断,即遍历9999~1000000中的每一个数并进行条件的判断。根据回文数的性质以及输出换行的操作(利用println完成自动换行),我们可以创建如下两种循环:

		for(ge=1;ge<10;ge++){
   
			for(shi=0;shi<10;shi++){
   
				for(bai=0;bai<10;bai++){
   
					number = ge*10000+shi*1000+bai*100+shi*10+ge;
					sum = (ge+
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值