Eban numbers: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: added syntax colouring, marked p2js compatible) |
No edit summary |
||
Line 986: | Line 986: | ||
count = 7999 |
count = 7999 |
||
</pre> |
</pre> |
||
=={{header|Groovy}}== |
=={{header|Groovy}}== |
||
{{trans|Java}} |
{{trans|Java}} |
||
Line 2,737: | Line 2,738: | ||
eban numbers up to and including 1000000000: |
eban numbers up to and including 1000000000: |
||
count = 7999</pre> |
count = 7999</pre> |
||
=={{header|Vlang}}== |
|||
{{trans|go}} |
|||
<lang vlang>struct Range { |
|||
start i64 |
|||
end i64 |
|||
print bool |
|||
} |
|||
fn main() { |
|||
rgs := [Range{2, 1000, true}, |
|||
Range{1000, 4000, true}, |
|||
Range{2, 10000, false}, |
|||
Range{2, 100000, false}, |
|||
Range{2, 1000000, false}, |
|||
Range{2, 10000000, false}, |
|||
Range{2, 100000000, false}, |
|||
Range{2, 1000000000, false}, |
|||
] |
|||
for rg in rgs { |
|||
if rg.start == 2 { |
|||
println("eban numbers up to and including $rg.end:") |
|||
} else { |
|||
println("eban numbers between $rg.start and $rg.end (inclusive):") |
|||
} |
|||
mut count := 0 |
|||
for i := rg.start; i <= rg.end; i += 2 { |
|||
b := i / 1000000000 |
|||
mut r := i % 1000000000 |
|||
mut m := r / 1000000 |
|||
r = i % 1000000 |
|||
mut t := r / 1000 |
|||
r %= 1000 |
|||
if m >= 30 && m <= 66 { |
|||
m %= 10 |
|||
} |
|||
if t >= 30 && t <= 66 { |
|||
t %= 10 |
|||
} |
|||
if r >= 30 && r <= 66 { |
|||
r %= 10 |
|||
} |
|||
if b == 0 || b == 2 || b == 4 || b == 6 { |
|||
if m == 0 || m == 2 || m == 4 || m == 6 { |
|||
if t == 0 || t == 2 || t == 4 || t == 6 { |
|||
if r == 0 || r == 2 || r == 4 || r == 6 { |
|||
if rg.print { |
|||
print("$i ") |
|||
} |
|||
count++ |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
if rg.print { |
|||
println('') |
|||
} |
|||
println("count = $count\n") |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
eban numbers up to and including 1000: |
|||
2 4 6 30 32 34 36 40 42 44 46 50 52 54 56 60 62 64 66 |
|||
count = 19 |
|||
eban numbers between 1000 and 4000 (inclusive): |
|||
2000 2002 2004 2006 2030 2032 2034 2036 2040 2042 2044 2046 2050 2052 2054 2056 2060 2062 2064 2066 4000 |
|||
count = 21 |
|||
eban numbers up to and including 10000: |
|||
count = 79 |
|||
eban numbers up to and including 100000: |
|||
count = 399 |
|||
eban numbers up to and including 1000000: |
|||
count = 399 |
|||
eban numbers up to and including 10000000: |
|||
count = 1599 |
|||
eban numbers up to and including 100000000: |
|||
count = 7999 |
|||
eban numbers up to and including 1000000000: |
|||
count = 7999 |
|||
</pre> |
|||
=={{header|Wren}}== |
=={{header|Wren}}== |