紧锣密鼓的我又写了有关回文数的算法了,有关特殊回文数和回文数
一:特殊回文数
问题描述: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