Heronian triangles
Posted: Thu Sep 07, 2017 11:37 am
This program outputs a table with Heronian triangles with sides up to 200, sorted by area, perimeter and sides.
Output:
Code: Select all
h,t = getem(200)
#.sort(h,4,5,1,2,3)
#.output("There are ",t," Heronian triangles")
#.output(" a b c area perimeter")
#.output("----- ----- ----- ------ ---------")
> i, 1..t
print(h,i)
<
print(h,i)=
#.output(#.str(h[1,i],">4>")," ",#.str(h[2,i],">4>")," ",#.str(h[3,i],">4>")," ",#.str(h[4,i],">5>")," ",#.str(h[5,i],">8>"))
.
getem(n)=
> a, 1..n
> b, #.upper((a+1)/2)..a
> c, a-b+1..b
x = ((a+b+c)*(a+b-c)*(a-b+c)*(b-a+c))^0.5
>> x%1 | #.gcd(a,b,c)>1
t += 1
h[1,t],h[2,t],h[3,t] = #.sort(a,b,c)
h[4,t],h[5,t] = heron(a,b,c)
<
<
<
<= h,t
.
heron(a,b,c)=
s = (a+b+c)/2
<= (s*(s-a)*(s-b)*(s-c))^0.5, s*2
.
Code: Select all
There are 517 Heronian triangles
a b c area perimeter
----- ----- ----- ------ ---------
3 4 5 6 12
5 5 6 12 16
5 5 8 12 18
4 13 15 24 32
5 12 13 30 30
9 10 17 36 36
3 25 26 36 54
7 15 20 42 42
10 13 13 60 36
8 15 17 60 40
13 13 24 60 50
6 25 29 60 60
11 13 20 66 44
5 29 30 72 64
13 14 15 84 42
10 17 21 84 48
7 24 25 84 56
8 29 35 84 72
12 17 25 90 54
4 51 53 90 108
19 20 37 114 76
16 17 17 120 50
17 17 30 120 64
16 25 39 120 80
13 20 21 126 54
15 28 41 126 84
5 51 52 126 108
11 25 30 132 66
15 26 37 156 78
13 40 51 156 104
14 25 25 168 64
10 35 39 168 84
25 25 48 168 98
13 30 37 180 80
9 40 41 180 90
12 55 65 198 132
17 25 26 204 68
17 25 28 210 70
20 21 29 210 70
12 35 37 210 84
17 28 39 210 84
7 65 68 210 140
3 148 149 210 300
9 73 80 216 162
15 41 52 234 108
13 37 40 240 90
15 34 35 252 84
13 40 45 252 98
9 65 70 252 144
15 37 44 264 96
33 34 65 264 132
27 29 52 270 108
17 65 80 288 162
25 51 74 300 150
5 122 123 300 250
20 37 51 306 108
17 39 44 330 100
25 33 52 330 110
11 60 61 330 132
11 100 109 330 220
17 40 41 336 98
24 35 53 336 112
15 52 61 336 128
4 193 195 336 392
25 29 36 360 90
18 41 41 360 100
41 41 80 360 162
13 68 75 390 156
34 55 87 396 176
11 90 97 396 198
13 109 120 396 242
20 51 65 408 136
24 37 37 420 98
25 34 39 420 98
29 29 40 420 98
29 29 42 420 100
21 41 50 420 112
26 35 51 420 112
25 39 56 420 120
14 61 65 420 140
37 37 70 420 144
26 51 73 420 150
41 50 89 420 180
26 73 97 420 196
21 85 104 420 210
15 106 119 420 240
7 169 174 420 350
25 38 51 456 114
19 60 73 456 152
39 58 95 456 192
17 55 60 462 132
35 44 75 462 154
25 39 40 468 104
8 123 125 480 256
29 35 48 504 112
16 63 65 504 144
28 85 111 504 224
17 87 100 510 204
51 52 101 510 204
29 60 85 522 174
20 53 55 528 128
25 97 120 528 242
29 52 75 546 156
13 84 85 546 182
28 65 89 546 182
39 76 113 570 228
25 51 52 624 128
53 65 116 624 234
28 45 53 630 126
25 52 63 630 140
21 61 68 630 150
36 91 125 630 252
12 137 145 630 294
26 51 55 660 132
33 41 58 660 132
22 61 61 660 144
33 58 85 660 176
61 61 120 660 242
19 153 170 684 342
29 52 69 690 150
25 92 113 690 230
51 53 100 714 204
17 105 116 714 238
37 39 52 720 128
32 53 75 720 160
25 136 159 720 320
34 65 93 744 192
25 63 74 756 162
17 89 90 756 196
39 41 50 780 130
29 78 101 780 208
17 104 113 780 234
13 122 125 780 260
45 100 143 792 288
41 60 95 798 196
35 52 73 840 160
21 82 89 840 192
26 75 91 840 192
51 52 97 840 200
21 89 100 840 210
25 84 101 840 210
35 73 102 840 210
28 87 109 840 224
15 112 113 840 240
51 97 146 840 294
13 150 157 840 320
73 74 145 876 292
17 113 120 900 250
33 56 65 924 154
35 53 66 924 154
40 51 77 924 168
25 74 77 924 176
39 55 82 924 176
22 85 91 924 198
58 65 119 924 242
15 136 143 924 294
26 123 145 924 294
14 157 165 924 336
31 68 87 930 186
31 156 185 930 372
29 65 68 936 162
29 75 92 966 196
23 140 159 966 322
41 50 73 984 164
20 99 101 990 220
25 113 132 990 270
29 123 148 990 300
55 111 164 990 330
32 65 65 1008 162
30 101 125 1008 256
65 65 126 1008 256
41 51 58 1020 150
34 61 75 1020 170
20 111 119 1050 250
36 61 65 1080 162
35 65 82 1092 182
26 85 85 1092 196
85 85 168 1092 338
40 157 195 1092 392
39 113 148 1110 300
39 62 85 1116 186
31 97 120 1116 248
38 65 87 1140 190
25 101 114 1140 240
51 52 53 1170 156
51 98 145 1176 294
49 148 195 1176 392
40 85 117 1188 242
29 101 120 1200 250
53 78 125 1200 256
60 89 145 1218 294
17 144 145 1224 306
53 53 56 1260 162
53 53 90 1260 196
37 72 91 1260 200
35 78 97 1260 210
14 181 183 1260 378
61 136 195 1260 392
43 61 68 1290 172
48 55 73 1320 176
41 66 85 1320 192
25 106 111 1320 242
41 85 116 1320 242
40 111 145 1332 296
46 75 109 1380 230
51 74 115 1380 240
23 123 130 1380 276
44 65 87 1386 196
36 77 85 1386 198
35 156 187 1386 378
99 100 197 1386 396
52 101 147 1470 300
83 85 164 1494 332
52 75 115 1518 242
52 61 87 1560 200
39 80 89 1560 208
25 149 164 1560 338
44 75 97 1584 216
40 89 113 1584 242
29 110 117 1584 256
53 109 156 1590 318
57 65 106 1596 228
26 133 145 1596 304
25 136 145 1632 306
35 100 117 1638 252
20 169 175 1638 364
65 119 180 1638 364
20 175 183 1638 378
50 69 73 1656 192
39 85 92 1656 216
56 61 75 1680 192
41 84 85 1680 210
37 91 96 1680 224
30 113 113 1680 256
32 119 137 1680 288
57 65 68 1710 190
19 180 181 1710 380
39 110 137 1716 286
24 143 145 1716 312
37 136 165 1716 338
41 87 104 1740 232
29 125 136 1740 290
29 150 169 1740 348
59 68 109 1770 236
52 73 75 1800 200
45 89 116 1800 250
53 80 117 1800 250
37 130 157 1800 324
72 85 149 1836 306
26 145 153 1836 324
65 65 66 1848 196
37 100 105 1848 242
65 65 112 1848 242
55 84 125 1848 264
80 91 165 1848 336
20 185 187 1848 392
45 85 104 1872 234
25 153 160 1872 338
45 91 116 1890 252
37 108 125 1890 270
30 145 161 1932 336
23 170 175 1932 368
53 100 141 1974 294
53 75 88 1980 216
65 66 109 1980 240
40 101 101 1980 242
30 143 157 1980 330
101 101 198 1980 400
48 85 91 2016 224
65 72 119 2016 256
73 85 148 2040 306
65 124 183 2046 372
61 69 100 2070 230
41 104 105 2100 250
25 182 193 2100 400
53 150 197 2100 400
65 68 105 2142 238
34 137 153 2160 324
60 73 91 2184 224
65 68 101 2184 234
61 74 87 2220 222
37 123 136 2220 296
53 85 104 2244 242
55 136 183 2244 374
51 145 188 2256 384
57 82 89 2280 228
68 75 77 2310 220
51 91 100 2310 242
37 125 132 2310 294
73 84 143 2310 300
44 119 145 2310 308
55 116 159 2310 330
65 72 97 2340 234
58 85 117 2340 260
34 145 159 2340 338
41 130 153 2376 324
65 76 87 2394 228
52 95 119 2394 266
45 133 164 2394 342
61 80 109 2400 250
29 182 195 2436 406
35 174 197 2436 406
87 119 200 2436 406
34 145 145 2448 324
41 169 200 2460 410
41 137 160 2496 338
51 100 119 2520 270
70 97 153 2520 320
68 117 175 2520 360
29 174 175 2520 378
39 157 182 2520 378
84 109 185 2520 378
44 117 125 2574 286
65 89 132 2574 286
29 180 187 2574 396
39 155 178 2604 372
39 145 164 2610 348
65 87 88 2640 240
73 73 96 2640 242
73 73 110 2640 256
39 136 145 2640 320
37 143 150 2640 330
60 137 187 2640 384
61 91 100 2730 252
60 91 109 2730 260
52 111 137 2730 300
84 97 169 2730 350
52 137 175 2730 364
28 195 197 2730 420
72 85 85 2772 242
55 104 105 2772 264
85 85 154 2772 324
35 165 178 2772 378
45 130 149 2808 324
67 85 116 2814 268
68 87 95 2850 250
73 80 119 2856 272
51 113 130 2856 294
49 122 123 2940 294
36 173 187 2970 396
61 135 182 3024 378
61 102 109 3060 272
53 117 136 3060 306
75 86 97 3096 258
43 145 156 3096 344
78 89 89 3120 256
89 89 160 3120 338
52 123 125 3150 300
39 164 175 3150 378
70 95 101 3192 266
76 85 105 3192 266
68 95 125 3192 288
89 97 170 3204 356
73 134 195 3216 402
61 120 157 3276 338
65 126 173 3276 364
85 111 182 3276 378
40 169 183 3276 392
55 136 169 3300 360
64 111 145 3360 320
87 112 185 3360 384
45 164 187 3366 396
78 95 97 3420 270
57 122 125 3420 304
85 104 171 3420 360
38 181 181 3420 400
65 110 111 3432 286
48 145 145 3432 338
65 106 123 3444 294
65 109 116 3480 290
73 102 145 3480 320
51 140 149 3570 340
65 119 156 3570 340
68 109 123 3690 300
60 143 181 3696 384
62 123 125 3720 310
54 149 175 3780 378
53 145 150 3828 348
78 101 115 3864 294
65 119 138 3864 322
69 113 140 3864 322
46 175 193 3864 414
85 93 116 3906 294
89 99 100 3960 288
61 133 156 3990 350
57 148 175 3990 380
75 109 136 4080 320
69 130 169 4140 368
85 99 140 4158 324
68 135 175 4158 378
91 100 159 4200 350
59 145 150 4248 354
85 104 117 4284 306
90 97 119 4284 306
87 100 143 4290 330
52 165 173 4290 390
68 143 185 4290 396
73 120 145 4368 338
85 105 148 4368 338
61 160 195 4368 416
89 111 170 4440 370
65 159 200 4452 424
58 155 159 4464 372
82 111 145 4524 338
81 113 130 4536 324
77 123 130 4620 330
88 105 137 4620 330
91 102 143 4620 336
87 109 154 4620 350
75 136 181 4620 392
61 155 156 4650 372
97 97 130 4680 324
97 97 144 4680 338
52 181 183 4680 416
73 148 195 4680 416
75 133 170 4788 378
91 115 116 4830 322
92 111 119 4830 322
78 125 145 4872 348
89 116 123 4920 328
61 164 185 4920 410
73 143 180 4950 396
57 176 185 5016 418
91 111 148 5040 350
84 125 169 5040 378
56 181 195 5040 432
85 122 159 5124 366
100 109 171 5130 380
88 125 125 5148 338
100 115 123 5382 338
106 113 119 5460 338
109 109 120 5460 338
91 123 136 5460 350
75 146 169 5460 390
91 125 174 5460 390
104 111 175 5460 390
109 109 182 5460 400
106 119 195 5460 420
56 197 197 5460 450
92 123 169 5520 384
99 113 140 5544 352
77 145 156 5544 378
101 112 165 5544 378
75 148 169 5544 392
61 185 186 5580 432
85 132 157 5610 374
85 140 183 5712 408
97 120 161 5796 378
104 115 173 5796 392
69 170 193 5796 432
97 122 169 5820 388
99 125 136 5940 360
105 116 143 6006 364
73 170 195 6132 438
85 148 159 6216 392
102 125 173 6300 400
91 146 195 6300 432
111 124 137 6510 372
91 145 180 6552 416
112 125 195 6552 432
87 160 169 6864 416
99 148 149 6930 396
100 143 153 6930 396
89 156 175 6930 420
111 136 145 7140 392
102 149 149 7140 400
119 120 169 7140 408
91 159 170 7140 420
97 153 200 7200 450
101 148 195 7326 444
101 152 165 7524 418
110 137 171 7524 418
95 159 178 7524 432
119 137 144 7560 400
89 170 189 7560 448
104 153 193 7920 450
104 153 185 7956 442
95 168 193 7980 456
123 133 200 7980 456
113 145 194 8136 452
119 145 156 8190 420
122 141 169 8460 432
94 181 195 8460 470
105 170 173 8568 448
104 173 173 8580 450
123 146 169 8760 438
140 143 157 9240 440
125 154 169 9240 448
137 137 176 9240 450
111 175 176 9240 462
119 156 187 9240 462
101 188 195 9306 484
125 161 174 9660 460
136 145 183 9744 464
130 153 185 9828 468
137 145 188 9870 470
117 170 197 9900 484
115 174 197 9936 486
114 185 185 10032 484
117 173 200 10080 490
121 170 193 10164 484
145 147 194 10584 486
148 153 175 10710 476
149 156 175 10920 480
145 156 185 10962 486
136 169 183 10980 488
157 157 170 11220 484
123 187 200 11220 510
140 173 187 11550 500
146 169 185 11700 500
144 175 193 12096 512
157 165 184 12144 506
148 175 195 12432 518
145 180 197 12528 522
165 182 193 13860 540
190 193 193 15960 576
193 194 195 16296 582