Feigenbaum constant calculation: Difference between revisions

Added Go
(Added modula-2)
(Added Go)
Line 41:
 
{{output}}
<pre>
i d
2 3.21851142
3 4.38567760
4 4.60094928
5 4.65513050
6 4.66611195
7 4.66854858
8 4.66906066
9 4.66917155
10 4.66919515
11 4.66920026
12 4.66920098
13 4.66920537
</pre>
 
=={{header|Go}}==
{{trans|Ring}}
<lang go>package main
 
import "fmt"
 
func feigenbaum() {
maxIt, maxItJ := 13, 10
a1, a2, d1 := 1.0, 0.0, 3.2
fmt.Println(" i d")
for i := 2; i <= maxIt; i++ {
a := a1 + (a1-a2)/d1
for j := 1; j <= maxItJ; j++ {
x, y := 0.0, 0.0
for k := 1; k <= 1<<uint(i); k++ {
y = 1.0 - 2.0*y*x
x = a - x*x
}
a -= x / y
}
d := (a1 - a2) / (a - a1)
fmt.Printf("%2d %.8f\n", i, d)
d1, a2, a1 = d, a1, a
}
}
 
func main() {
feigenbaum()
}</lang>
 
{{out}}
<pre>
i d
9,490

edits