java回文数算法for_回文数算法

1、回文数:一种数字,如:12321, 这个数字正读是12321,倒读也是12321,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。

回文数判别算法(java实现)

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class HuiWenShu {

public static void main(String[] args) throws Exception{

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Please input texts:");

String inputString=br.readLine();

int input = Integer.parseInt(inputString);

checkHWS(input);

}

//判断一个数是否为回文数

public static void checkHWS(int input){

int reverse = 0,temp = input;

while(temp>0){

reverse = reverse*10+temp%10;

temp = temp/10;

}

if(input==reverse)System.out.println(input+"是回文数!");

else System.out.println(input+"不是回文数!");

}

2、平方回数:一个回文数,它同时还是某一个数的平方,这样的数字叫做平方回数。例如:121。

算法要求:求出规定范围内的所有平方回数(java实现)import java.io.BufferedReader;

import java.io.InputStreamReader;

public class HuiWenShu {

public static void main(String[] args) throws Exception{

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Please input start:");

String startString=br.readLine();

int start = Integer.parseInt(startString);

System.out.print("Please input end:");

String endString=br.readLine();

int end = Integer.parseInt(endString);

getAllHWS(start,end);

}

//判断一个数是否为回文数

public static boolean checkHWS(int input){

int reverse = 0,temp = input;

while(temp>0){

reverse = reverse*10+temp%10;

temp = temp/10;

}

if(input==reverse)return true;

else return false;

}

//输出给定范围内的,所有平方回数

public static void getAllHWS(int start,int end){

double extractionOfStart = Math.sqrt(start);

int startTemp = (int) Math.ceil(extractionOfStart);

double extractionOfEnd = Math.sqrt(end);

int endTemp = (int) Math.floor(extractionOfEnd);

for(int i = startTemp;i<=endTemp;i++){

int temp = i*i;

boolean flag = checkHWS(temp);

if(flag)System.out.println(temp);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值