特殊回文数和回文数(Java实现)

本文介绍了如何使用Java解决特殊回文数和回文数的问题。对于特殊回文数,提供了两种解决方案,一种是直接构造,另一种是遍历检查。在蓝桥杯比赛中,直接构造法在CPU时间上更优。而对于回文数,同样给出了两种方法,实际运行中,简单构造法效率更高。
摘要由CSDN通过智能技术生成

紧锣密鼓的我又写了有关回文数的算法了,有关特殊回文数和回文数

一:特殊回文数

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

解题思路:有两种方法,第一是我们去构造这样的特殊回文数,首先我们看这个数的特点,因为是五位和六五数的回文数,所以我们可以根据前三位确定这个五位或者六位的数字,那满足的要求就是每个位数加起来的值为n,然后输出即可。第二种方法就是常用的方法了,遍历所有五位和六位的数,然后取出各个位数的值,判断相加是否是n+是否是回文数,这两个条件要同时满足。

编程思路:因为很简单就直接上代码了

代码实现(方法一):

import java.util.Scanner;

public class Main_specialpalindrome {
	public static void speicalpalindrome(int n) {
		int x,y,z;
		//先输出五位数
		for(int i=1;i<10;i++) {
			x=i;
			for(int j=0;j<10;j++) {
				y=j;
				z=n-2*x-2*y;
				if(z>=0&&z<10) {
					System.out.print(x);
					System.out.print(y);
					System.out.print(z);
					System.out.print(y);
					System.out.print(x);
					S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值