Go의 연습인 "Exercise: Loops and Function"을 진행했습니다.
과제와의 만남
GO 튜토리얼을 진행하다가 갑자기 과제가 생겼어요.
이것이 바로
URL: https://go-tour-jp.appspot.com/flowcontrol/8
매개 변수 중 수치의 제곱근에 가까워야 할 것 같습니다.이런 일
나는 뉴턴법에 대해 잘 몰라서 보지 않겠다.
실제로 해봤어요.
package main
import (
"fmt"
"math"
)
// 引数の平方根に近づける
func Sqrt(x float64) float64 {
z := 1.0
// 10回繰り返すことが要件となっている
for i:=1; i<=10; i++ {
// 記載通りの計算式
z -= (z*z - x) / (2*z)
count := i
countString := "回目の結果"
result := z
fmt.Println(count , countString , result)
// 実際の平方根と同じになれば抜ける
if math.Sqrt(x) == z {
fmt.Println("clear!")
break;
}
}
return z
}
func main() {
var num float64 = 2 // 別の数値を試したい時はここを変更する
result := Sqrt(num)
fmt.Println(result)
fmt.Println(math.Sqrt(num))
}
먼저 위에서부터package main
import (
"fmt"
"math"
)
fmt 패키지를 사용하면 성형된 I/O를 사용할 수 있습니다.math 패키지는 공식적인 함수를 포함합니다.
그다음에 여기.
설정
// 引数の平方根に近づける
func Sqrt(x float64) float64 {
z := 1.0
// 10回繰り返すことが要件となっている
for i:=1; i<=10; i++ {
// 記載通りの計算式
z -= (z*z - x) / (2*z)
count := i
countString := "回目の結果"
result := z
fmt.Println(count , countString , result)
// 実際の平方根と同じになれば抜ける
if math.Sqrt(x) == z {
fmt.Println("clear!")
break;
}
}
return z
}
z := 1.0
을 통해 부동 소수점 값 설정z -= (z*z - x) / (2*z)
는 문제문 중의 계산식이다 count := i
countString := "回目の結果"
result := z
fmt.Println(count , countString , result)
// 実際の平方根と同じになれば抜ける
if math.Sqrt(x) == z {
fmt.Println("clear!")
break;
}
먼저 결과를 되돌려줍니다.이전 math 패키지를 사용하여 매개 변수 제곱근
Sqrt
의 함수를 되돌려줍니다.만약 x의 제곱근이 z와 일치한다면 순환에서 종료합니다.쉽게 알 수도 있다
clear!
.마지막 조건이 엇갈리는 글씨도 이상하다고 생각해요...
func main() {
var num float64 = 2 // 別の数値を試したい時はここを変更する
result := Sqrt(num)
fmt.Println(result)
fmt.Println(math.Sqrt(num))
}
이것에 대해 특별히 추가로 실시할 필요는 없지만 괜찮은 것 같다.필요에 따라 변경
num
해서 실행해도 재밌네요!이런 의도로 이루어졌다.결과 내보내기
아래와 같다.
1 回目の結果 1.5
2 回目の結果 1.4166666666666667
3 回目の結果 1.4142156862745099
4 回目の結果 1.4142135623746899
5 回目の結果 1.4142135623730951
clear!
1.4142135623730951
1.4142135623730951
구글의 느낌은 결과가 많이 다르다고 생각해서 잘 알아요!w좋은 글씨가 있으면 알려주세요!
참고 문헌
Reference
이 문제에 관하여(Go의 연습인 "Exercise: Loops and Function"을 진행했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/t1k2a_love_game/articles/9c9636eb7f05ae텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)