神奇的ASCII碼: 150-159
摘要:
好神奇呀!
將字串拆分,每個位元組的ASCII碼求和;
將此和轉為字串,重複步驟(1)
最終,無論什麼字串,都會變成 150-159 其中一個數字
java程式碼:
import java.util.ArrayList...
好神奇呀!
- 將字串拆分,每個位元組的ASCII碼求和;
- 將此和轉為字串,重複步驟(1)
- 最終,無論什麼字串,都會變成 150-159 其中一個數字
java程式碼:
import java.util.ArrayList; import java.util.List; /** * Created by reone on 2019/3/26. */ public class StrTest { public static void main(String[] args) { List<Integer> arrayList = new ArrayList<>(); for (int i = 1; i < 299999999; i++) { if (i == endNum(i)) { arrayList.add(i); } } System.out.println(arrayList); System.out.println(endNumStr("QWERTYUI哦啊三十多發光飛碟 !@#¥%……& 阿什頓飛機`")); } private static int endNum(int num) { int temp = num; while (true) { int newNum = cover(temp + ""); if (newNum == temp) { break; } else { temp = newNum; } } return temp; } private static int cover(String str) { int sum = 0; for (int i = 0; i < str.length(); i++) { sum += str.charAt(i); } return sum; } private static int endNumStr(String str) { return endNum(cover(str)); } }
執行結果:
[150, 151, 152, 153, 154, 155, 156, 157, 158, 159] 151 Process finished with exit code 0
所以,我發現了什麼?
下面是150-159的ascll碼的分解
150:[1: 49][5: 53][0: 48] 151:[1: 49][5: 53][1: 49] 152:[1: 49][5: 53][2: 50] 153:[1: 49][5: 53][3: 51] 154:[1: 49][5: 53][4: 52] 155:[1: 49][5: 53][5: 53] 156:[1: 49][5: 53][6: 54] 157:[1: 49][5: 53][7: 55] 158:[1: 49][5: 53][8: 56] 159:[1: 49][5: 53][9: 57]