Hofstadter Figure-Figure sequences: Difference between revisions
m
→{{header|Sidef}}: updated code
(Restoring visibility of task description formulae (hidden by under-tested cosmetic edits of 18:19, 28 August 2016)) |
m (→{{header|Sidef}}: updated code) |
||
Line 2,140:
func ffsr(n) {
while(r.end < n) {
r << s[r.end]+r[-1]
s << [(s[-1]+1 .. r[-1]-1)..., r[-1]+1].grep{ s[-1] < _ }...
}
return n
}
Line 2,149:
func ffs(n) { s[ffsr(n)] }
printf(" i: R(i) S(i)\n")
printf("==============\n")
printf("%3d:
} << 1..10
printf("\nR(40)=%3d S(960)=%3d R(41)=%3d\n", ffr(40), ffs(960), ffr(41))
var seen = Hash()
if (seen.count {|k,v| (k.to_i >= 1) && (k.to_i <= 1000) && (v == 1) } == 1000) {
say "All occured exactly once."
}
else {
var missed =
var dupped = seen.grep { |_, v| v > 1 }.keys.sort
say "These were missed: #{missed}"
say "These were duplicated: #{dupped}"
}</lang>
{{out}}
|