Taxi-cab numbers: sums of 2 cubes in more than 1 way
オンライン整数列大辞典の
A001235(http://oeis.org/A001235/list)
と比較し、答え合わせしてみる。
M = 704977 ** (1.0 / 3)
N = 36
h = {}
(0..M).each{|a|
(0..a).each{|b|
n = a ** 3 + b ** 3
h[n] == nil ? h[n] = 1 : h[n] += 1
}
}
ary = h.select{|k, v| v > 1}.keys[0..N - 1].sort
# OEIS A001235のデータ
ary0 =
[1729,4104,13832,20683,32832,39312,40033,46683,
64232,65728,110656,110808,134379,149389,165464,
171288,195841,216027,216125,262656,314496,320264,
327763,373464,402597,439101,443889,513000,513856,
515375,525824,558441,593047,684019,704977]
# 一致の確認
p ary == ary0
さて
(6a^2 - 4ab + 4b^2)^3 + (3b^2 + 5ab - 5a^2)^3
= (6b^2 - 4ab + 4a^2)^3 + (3a^2 + 5ab - 5b^2)^3
という等式が成り立つので、
この形に分けられるものを出力する。
(ただし、a,bは0以上の整数に限定しておくものとする。)
M1 = 10
h = {}
(0..M1).each{|a|
(0..a - 1).each{|b|
u = 6 * b ** 2 - 4 * a * b + 4 * a ** 2
if u > 0
v = 3 * b ** 2 + 5 * a * b - 5 * a ** 2
if v > 0
w = 6 * a ** 2 - 4 * a * b + 4 * b ** 2
n = w ** 3 + v ** 3
h[n] == nil ? h[n] = 1 : h[n] += 1
end
end
}
}
p h.keys.sort
出力結果
[593047, 2418271, 7620661, 16387189, 20072017, 37955008, 46343059, 79692193, 967
53187, 154769344, 186595201]
N = 36
h = {}
(0..M).each{|a|
(0..a).each{|b|
n = a ** 3 + b ** 3
h[n] == nil ? h[n] = 1 : h[n] += 1
}
}
ary = h.select{|k, v| v > 1}.keys[0..N - 1].sort
# OEIS A001235のデータ
ary0 =
[1729,4104,13832,20683,32832,39312,40033,46683,
64232,65728,110656,110808,134379,149389,165464,
171288,195841,216027,216125,262656,314496,320264,
327763,373464,402597,439101,443889,513000,513856,
515375,525824,558441,593047,684019,704977]
# 一致の確認
p ary == ary0
さて
(6a^2 - 4ab + 4b^2)^3 + (3b^2 + 5ab - 5a^2)^3
= (6b^2 - 4ab + 4a^2)^3 + (3a^2 + 5ab - 5b^2)^3
という等式が成り立つので、
この形に分けられるものを出力する。
(ただし、a,bは0以上の整数に限定しておくものとする。)
M1 = 10
h = {}
(0..M1).each{|a|
(0..a - 1).each{|b|
u = 6 * b ** 2 - 4 * a * b + 4 * a ** 2
if u > 0
v = 3 * b ** 2 + 5 * a * b - 5 * a ** 2
if v > 0
w = 6 * a ** 2 - 4 * a * b + 4 * b ** 2
n = w ** 3 + v ** 3
h[n] == nil ? h[n] = 1 : h[n] += 1
end
end
}
}
p h.keys.sort
出力結果
[593047, 2418271, 7620661, 16387189, 20072017, 37955008, 46343059, 79692193, 967
53187, 154769344, 186595201]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。