用java解决一道有趣的关于密码的数学题

同学问我一个智力题,说有个老太太把她的密码箱的密码更改了,原密码和现密码都是四位数,而恰好,现密码是原密码数值的四倍,而且现密码正好是原密码四个数字的倒转,问密码是多少?

想了一会,没想出来,干脆用java遍历一遍好了主要代码:

 1 public class TestMathGame {
 2     public static void main(String[] args) {
 3         String olderString;
 4         String newerString;
 5         String deOlderString;
 6         for (int olderInt = 1; olderInt < 2500; olderInt++) {
 7             int newerInt = 4 * olderInt;
 8             olderString=String.valueOf(olderInt);
 9             newerString=String.valueOf(newerInt);
10             deOlderString=reverseString(olderString);
11             
12             if (newerString.equals(deOlderString)) {
13                 System.out.println("the old password is "+olderString);
14                 System.out.println("the new password is "+newerString);
15             }
16         }
17     }
18     //倒置字符串方法:
19     public static String reverseString(String str)  
20     {  
21         char[] arr=str.toCharArray();  
22         int middle = arr.length>>1;//EQ length/2  
23         int limit = arr.length-1;  
24         for (int i = 0; i < middle; i++) {  
25             char tmp = arr[i];  
26             arr[i]=arr[limit-i];  
27             arr[limit-i]=tmp;  
28         }  
29         return new String(arr);  
30     }  
31 }

其中倒置字符串方法是在某个csdn博客看到的,嘿嘿

猜你喜欢

转载自www.cnblogs.com/MaoYQ/p/9219371.html