Continued fraction: Difference between revisions

Content added Content deleted
m (→‎{{header|Sidef}}: minor code fix)
m (→‎{{header|Sidef}}: minor code fixes)
Line 2,131: Line 2,131:
=={{header|Sidef}}==
=={{header|Sidef}}==
{{trans|Perl}}
{{trans|Perl}}
<lang ruby>func continued_fraction(a, b, n=100) {
<lang ruby>func continued_fraction(a, _, (0)) { a() }
a.run + (n > 0 && (b.run / continued_fraction(a, b, n-1)));
func continued_fraction(a, b, n=100) {
a() + (b() / continued_fraction(a, b, n-1));
}
}


var f = Hash.new(
var f = Hash.new(
"√2" => [
"√2" => [
run { var n = 0; { n++ ? 2 : 1 } },
do { var n = 0; { n++ ? 2 : 1 } },
{ 1 },
{ 1 },
],
],
"e" => [
"e" => [
run { var n = 0; { n++ || 2 } },
do { var n = 0; { n++ || 2 } },
run { var n = 0; { n++ || 1 } },
do { var n = 0; { n++ || 1 } },
],
],
"π" => [
"π" => [
run { var n = 0; { n++ ? 6 : 3 } },
do { var n = 0; { n++ ? 6 : 3 } },
run { var n = 0; { (2*(n++) + 1)**2 } },
do { var n = 0; { (2*(n++) + 1)**2 } },
1_000,
1_000,
],
],
"π/2" => [
"π/2" => [
run { var n = 0; { 1/(n++ || 1) } },
do { var n = 0; { 1/(n++ || 1) } },
{ 1 },
{ 1 },
1_000,
1_000,