Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import "fmt"
- type Sequencer interface {
- Next() Sequencer
- }
- type Elem struct {
- b int
- res float64
- }
- type OddElem Elem
- type EvenElem Elem
- func (o *OddElem) Next() Sequencer {
- b := o.b + 1
- e := &EvenElem{b, o.res - 1.0/float64(b)}
- fmt.Println(e.res)
- return e
- }
- func (e *EvenElem) Next() Sequencer {
- b := e.b + 1
- o := &OddElem{b, e.res + 1.0/float64(b)}
- fmt.Println(o.res)
- return o
- }
- //1-1/2+1/3-1/4...
- func main() {
- var s Sequencer
- s = &OddElem{1, 1}
- for i := 0; i < 10; i++ {
- s = s.Next()
- }
- }
- /*
- func main() {
- res := 1.0
- for b := 2; b < 10; b++ {
- if b%2 == 0 {
- res -= 1.0 / float64(b)
- } else {
- res += 1.0 / float64(b)
- }
- fmt.Println(res)
- }
- }
- */
Add Comment
Please, Sign In to add comment