Skip to content

Instantly share code, notes, and snippets.

@andersonfraga
Created May 17, 2016 02:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andersonfraga/7e405a39cff2ef1bbd27d625a95d1e5c to your computer and use it in GitHub Desktop.
Save andersonfraga/7e405a39cff2ef1bbd27d625a95d1e5c to your computer and use it in GitHub Desktop.
Brincando com go... But, tem será maneira mais 'go-style' de fazer isso?
package main
import "os"
import "fmt"
import "math"
import "strconv"
func main() {
number, _ := strconv.ParseFloat(os.Args[1:2][0], 64)
denom := float64(2)
_number := float64(0)
for number > 0 {
denom = math.Ceil(1/number)
_number = number - (1/denom)
fmt.Println("1 /", denom, "\n=", _number)
number = _number
}
}
@andersonfraga
Copy link
Author

andersonfraga commented May 17, 2016

Talvez assim.. :)

package main

import "os"
import "fmt"
import "math"
import "strconv"

func main() {
    if len(os.Args) != 2 {
        panic("Usage: ./file float")
    }

    number, err := strconv.ParseFloat(os.Args[1:2][0], 64)

    if err != nil {
        panic(err)
    }

    denom := float64(2)

    for number > 0 {
        denom = math.Ceil(1/number)
        fmt.Println("1 /", denom)

        number -= (1/denom)
        fmt.Println("=", number)
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment