回文数算法
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); }} }轉載于:https://blog.51cto.com/6924918/1259514
總結
- 上一篇: 梦到生孩子死了有什么预兆
- 下一篇: UVa 10026 - Shoemake