Metallic ratios: Difference between revisions

Content added Content deleted
(Added Sidef)
m (→‎{{header|Sidef}}: renamed function)
Line 513: Line 513:


=={{header|Sidef}}==
=={{header|Sidef}}==
<lang ruby>func metalic(f, places = 32) {
<lang ruby>func seqRatio(f, places = 32) {
1..Inf -> reduce {|t,n|
1..Inf -> reduce {|t,n|
var r = (f(n+1)/f(n)).round(-places)
var r = (f(n+1)/f(n)).round(-places)
Line 526: Line 526:
var f = {|n| lucasu(k, -1, n) }
var f = {|n| lucasu(k, -1, n) }
say ("First 15 elements: ", 15.of(f).join(', '))
say ("First 15 elements: ", 15.of(f).join(', '))
var (n, r) = metalic(f)
var (n, r) = seqRatio(f)
say "Approximated value: #{r} reached after #{n} iterations"
say "Approximated value: #{r} reached after #{n} iterations"
say ''
say ''
}
}


with (metalic({|n| fib(n) }, 256)) {|n,v|
with (seqRatio({|n| fib(n) }, 256)) {|n,v|
say "Golden ratio to 256 decimal places:"
say "Golden ratio to 256 decimal places:"
say "Approximated value: #{v}"
say "Approximated value: #{v}"