Java求勾股数

Java求勾股数

 

最近有点时间又仔细温习了一下Java的算法,收益颇丰,呵呵,写在博客里供自己以后随时查看。

 

 

View Code
 1 // 想到3 4 5; 4 3 5; 5 4 3; 其实是一样的所以有了一下的推理过程
 2 
 3 // 递推过程
 4 
 5 // 1 1 2; 1 1 3 ... 1 1 100;
 6 
 7 // 1 2 3; 1 2 4 ... 1 2 100;
 8 
 9 // 1 99 100;
10 
11 // 2 2 3; 2 2 4 ... 2 2 100;
12 
13 // 99 99 100;
14 
15 public class Source {
16 
17     public static void main(String[] args) {
18 
19        Gougu.getGouguNum(100);
20 
21     }
22 
23 }
24 
25 // 勾股数的使用
26 
27 class Gougu{
28 
29     // 通过递推来查找勾股数
30 
31     public static final void getGouguNum(int maxnum){
32 
33        // 
34 
35        for(int i = 1; i < maxnum; i++){
36 
37            for(int j = i; j < maxnum; j++){
38 
39               for(int n = j + 1; n < maxnum; n++){
40 
41                   if((i*i+j*j)==n*n){
42 
43                      System.out.println(" "+i+" "+j+" "+n);
44 
45                   }
46 
47               }
48 
49            }
50 
51        }
52 
53     }
54 
55 }

 

计算结果:

3 4 5

 5 12 13

 6 8 10

 7 24 25

 8 15 17

 9 12 15

 9 40 41

 10 24 26

 11 60 61

 12 16 20

 12 35 37

 13 84 85

 14 48 50

 15 20 25

 15 36 39

 16 30 34

 16 63 65

 18 24 30

 18 80 82

 20 21 29

 20 48 52

 21 28 35

 21 72 75

 24 32 40

 24 45 51

 24 70 74

 25 60 65

 27 36 45

 28 45 53

 30 40 50

 30 72 78

 32 60 68

 33 44 55

 33 56 65

 35 84 91

 36 48 60

 36 77 85

 39 52 65

 39 80 89

 40 42 58

 40 75 85

 42 56 70

 45 60 75

 48 55 73

 48 64 80

 51 68 85

 54 72 90

 57 76 95

 60 63 87

 65 72 97

posted @ 2011-11-02 11:09  繁星皓月  阅读(2011)  评论(0编辑  收藏  举报