Ulam numbers: Difference between revisions

no edit summary
(Added solution for Action!)
No edit summary
Line 1,259:
The 10^2-th Ulam number is: 690
The 10^3-th Ulam number is: 12294
</pre>
 
=={{header|Vlang}}==
===Version 1===
{{trans|Go}}
<lang go>fn ulam(n int) int {
mut ulams := [1, 2]
mut set := {1: true, 2: true}
mut i := 3
for {
mut count := 0
for j := 0; j < ulams.len; j++ {
ok := set[i-ulams[j]]
if ok && ulams[j] != (i-ulams[j]) {
count++
if count > 2 {
break
}
}
}
if count == 2 {
ulams << i
set[i] = true
if ulams.len == n {
break
}
}
i++
}
return ulams[n-1]
}
fn main() {
for n := 10; n <= 10000; n *= 10 {
println("The ${n}th Ulam number is ${ulam(n)}")
}
}</lang>
 
{{out}}
<pre>
The 10th Ulam number is 18
The 100th Ulam number is 690
The 1000th Ulam number is 12294
The 10000th Ulam number is 132788
</pre>
 
338

edits