- 特殊回文数
/*
* 123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54。
特殊回文数
* */
import java.util.Scanner;
public class SpecialPalindromeNumber {
public static void main(String[] args) {
int x,y,q,m,n,e,d;
Scanner sc=new Scanner(System.in);
int s=sc.nextInt();
for(int i=10000;i<100000;i++) {
x=i/10000;
y=(i-10000*x)/1000;
q=(i-10000*x-1000*y)/100;
m=(i-10000*x-1000*y-100*q)/10;
n=(i-10000*x-1000*y-100*q-10*m);
e=x+y+q+m+n;
if(e==s) {
if(x==n&&y==m) {
System.out.println(i);
}
}
}
for(int i=100000;i<1000000;i++) {
x=i/100000;
y=(i-100000*x)/10000;
q=(i-100000*x-10000*y)/1000;
d=(i-100000*x-10000*y-1000*q)/100;
m=(i-100000*x-10000*y-1000*q-100*d)/10;
n=(i-100000*x-10000*y-1000*q-100*d-10*m);
e=x+y+q+d+m+n;
if(e==s) {
if(x==n&&y==m&q==d) {
System.out.println(i);
}
}
}
}
}
2.回文数
/*问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
回文数
* */
public class PalindromeNumber {
public static void main(String[] args) {
int x,y,m,n;
for(int i=1000;i<10000;i++) {
x=i/1000;
y=(i-1000*x)/100;
m=(i-1000*x-100*y)/10;
n=(i-1000*x-100*y-10*m);
if(x==n&&y==m) {
System.out.println(i);
}
}
}
}
3.特殊数字
/*
* 问题描述
153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。
输出格式
按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。
* */
public class SpecialNumbers {
public static void main(String[] args) {
int x,y,z,s;
for(int i=100;i<1000;i++) {
x=i/100;
y=(i-100*x)/10;
z=i-100*x-10*y;
s=x*x*x+y*y*y+z*z*z;
if(s==i) {
System.out.println(s);
}
}
}
}