Go의 연습인 "Exercise: Loops and Function"을 진행했습니다.

3234 단어 Go초학자tech

과제와의 만남


GO 튜토리얼을 진행하다가 갑자기 과제가 생겼어요.
이것이 바로
スクリーンショット 2021-05-27 23.15.31.png
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
좋은 글씨가 있으면 알려주세요!

참고 문헌


https://go언어com/pkg/fmt/
https://go언어com/pkg/math/
https://go언어com/pkg/math/#Sqrt

좋은 웹페이지 즐겨찾기