Pythagorean quadruples: Difference between revisions
Content added Content deleted
(Added Crystal translation of Ruby version.) |
|||
Line 448: | Line 448: | ||
<pre>The values of d <= 2200 which can't be represented: |
<pre>The values of d <= 2200 which can't be represented: |
||
1 2 4 5 8 10 16 20 32 40 64 80 128 160 256 320 512 640 1024 1280 2048</pre> |
1 2 4 5 8 10 16 20 32 40 64 80 128 160 256 320 512 640 1024 1280 2048</pre> |
||
=={{header|Crystal}}== |
|||
{{trans|Ruby}} |
|||
<lang Ruby>n = 2200 |
|||
l_add, l = Hash(Int32, Bool).new(false), Hash(Int32, Bool).new(false) |
|||
(1..n).each do |x| |
|||
x2 = x * x |
|||
(x..n).each { |y| l_add[x2 + y * y] = true } |
|||
end |
|||
s = 3 |
|||
(1..n).each do |x| |
|||
s1 = s |
|||
s += 2 |
|||
s2 = s |
|||
((x+1)..n).each do |y| |
|||
l[y] = true if l_add[s1] |
|||
s1 += s2 |
|||
s2 += 2 |
|||
end |
|||
end |
|||
puts (1..n).reject{ |x| l[x] }.join(" ")</lang> |
|||
{{out}} |
|||
<pre>1 2 4 5 8 10 16 20 32 40 64 80 128 160 256 320 512 640 1024 1280 2048 |
|||
</pre> |
|||
=={{header|D}}== |
=={{header|D}}== |