Taxicab numbers: Difference between revisions
Content added Content deleted
(→{{header|Haskell}}: Data.Function (on) for simpler groupBy expression) |
(Added Wren) |
||
Line 3,477: | Line 3,477: | ||
4162 7668767232 = 44^3 +1972^3 = 1384^3 +1712^3 360^3 +1968^3 |
4162 7668767232 = 44^3 +1972^3 = 1384^3 +1712^3 360^3 +1968^3 |
||
4359 8849601000 = 1017^3 +1983^3 = 1530^3 +1740^3 900^3 +2010^3</pre> |
4359 8849601000 = 1017^3 +1983^3 = 1530^3 +1740^3 900^3 +2010^3</pre> |
||
=={{header|Wren}}== |
|||
{{libheader|Wren-sort}} |
|||
{{libheader|Wren-fmt}} |
|||
<lang ecmascript>import "/sort" for Sort |
|||
import "/fmt" for Fmt |
|||
var cubesSum = {} |
|||
var taxicabs = [] |
|||
for (i in 1..1199) { |
|||
for (j in i+1..1200) { |
|||
var sum = i*i*i + j*j*j |
|||
if (!cubesSum[sum]) { |
|||
cubesSum[sum] = [i, j] |
|||
} else { |
|||
taxicabs.add([sum, cubesSum[sum], [i, j]]) |
|||
} |
|||
} |
|||
} |
|||
var cmp = Fn.new { |a, b| (a[0] - b[0]).sign } |
|||
Sort.quick(taxicabs, 0, taxicabs.count-1, cmp) |
|||
// remove those numbers which have additional pairs of cubes |
|||
for (i in taxicabs.count-2..0) { |
|||
if (taxicabs[i][0] == taxicabs[i+1][0]) taxicabs.removeAt(i+1) |
|||
} |
|||
System.print("The first 25 taxicab numbers are:") |
|||
for (i in 1..25) { |
|||
var t = taxicabs[i-1] |
|||
Fmt.lprint("$2d: $,7d = $2d³ + $2d³ = $2d³ + $2d³", [i, t[0], t[1][0], t[1][1], t[2][0], t[2][1]]) |
|||
} |
|||
System.print("\nThe 2,000th to 2,006th taxicab numbers are:") |
|||
for (i in 2000..2006) { |
|||
var t = taxicabs[i-1] |
|||
Fmt.lprint("$,5d: $,13d = $3d³ + $,5d³ = $3d³ + $,5d³", [i, t[0], t[1][0], t[1][1], t[2][0], t[2][1]]) |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
The first 25 taxicab numbers are: |
|||
1: 1,729 = 1³ + 12³ = 9³ + 10³ |
|||
2: 4,104 = 2³ + 16³ = 9³ + 15³ |
|||
3: 13,832 = 2³ + 24³ = 18³ + 20³ |
|||
4: 20,683 = 10³ + 27³ = 19³ + 24³ |
|||
5: 32,832 = 4³ + 32³ = 18³ + 30³ |
|||
6: 39,312 = 2³ + 34³ = 15³ + 33³ |
|||
7: 40,033 = 9³ + 34³ = 16³ + 33³ |
|||
8: 46,683 = 3³ + 36³ = 27³ + 30³ |
|||
9: 64,232 = 17³ + 39³ = 26³ + 36³ |
|||
10: 65,728 = 12³ + 40³ = 31³ + 33³ |
|||
11: 110,656 = 4³ + 48³ = 36³ + 40³ |
|||
12: 110,808 = 6³ + 48³ = 27³ + 45³ |
|||
13: 134,379 = 12³ + 51³ = 38³ + 43³ |
|||
14: 149,389 = 8³ + 53³ = 29³ + 50³ |
|||
15: 165,464 = 20³ + 54³ = 38³ + 48³ |
|||
16: 171,288 = 17³ + 55³ = 24³ + 54³ |
|||
17: 195,841 = 9³ + 58³ = 22³ + 57³ |
|||
18: 216,027 = 3³ + 60³ = 22³ + 59³ |
|||
19: 216,125 = 5³ + 60³ = 45³ + 50³ |
|||
20: 262,656 = 8³ + 64³ = 36³ + 60³ |
|||
21: 314,496 = 4³ + 68³ = 30³ + 66³ |
|||
22: 320,264 = 18³ + 68³ = 32³ + 66³ |
|||
23: 327,763 = 30³ + 67³ = 51³ + 58³ |
|||
24: 373,464 = 6³ + 72³ = 54³ + 60³ |
|||
25: 402,597 = 42³ + 69³ = 56³ + 61³ |
|||
The 2,000th to 2,006th taxicab numbers are: |
|||
2,000: 1,671,816,384 = 428³ + 1,168³ = 940³ + 944³ |
|||
2,001: 1,672,470,592 = 29³ + 1,187³ = 632³ + 1,124³ |
|||
2,002: 1,673,170,856 = 458³ + 1,164³ = 828³ + 1,034³ |
|||
2,003: 1,675,045,225 = 522³ + 1,153³ = 744³ + 1,081³ |
|||
2,004: 1,675,958,167 = 492³ + 1,159³ = 711³ + 1,096³ |
|||
2,005: 1,676,926,719 = 63³ + 1,188³ = 714³ + 1,095³ |
|||
2,006: 1,677,646,971 = 99³ + 1,188³ = 891³ + 990³ |
|||
</pre> |
|||
=={{header|zkl}}== |
=={{header|zkl}}== |