## Heronian triangles

Mr. Kibernetik
Posts: 4610
Joined: Mon Nov 19, 2012 10:16 pm
Location: Russia
Flag:

### Heronian triangles

This program outputs a table with Heronian triangles with sides up to 200, sorted by area, perimeter and sides.

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
.``````
Output:

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``````