자바에서 Math.sqrt() 메소드로 제곱근을 구하고, Math.cbrt() 메소드로 세제곱근을 구하듯이, Go 언어에서도 math.Sqrt() 함수로 제곱근을 구하고, math.Cbrt() 함수로 세제곱근을 구할 수 있다. 하지만 네제곱근이나 n제곱근을 구할려면 대신, math.Pow() 함수를 사용할 수 밖에 없다.
가령 2의 4제곱근을 구하려면
math.Pow(2.0, 1.0/4.0)
로 한다. math.Pow() 함수 속에는 정수형 숫자가 허용되지 않기에, 2는 (float64 상수 리터럴) 2.0 으로 표현해야 한다.
5의 세제곱근을 구하려면
math.Pow(5.0, 1.0/3.0)
로 한다.
Go 언어로 3제곱근, 4제곱근, n제곱근 구하는 예제
소스 파일명: example.go
#include <stdio.h>
package main
package main
import (
"fmt"
"math"
)
func main() {
"fmt"
"math"
)
func main() {
/// fmt.Printf("5의 세제곱근: %.16f\n", math.Pow(5.0, 1.0/3.0))
fmt.Printf("The cbrt of 5: %.16f\n", math.Pow(5.0, 1.0/3.0))
// 출력 결과: 1.7099759466766968
fmt.Printf("The cbrt of 5: %.16f\n", math.Pow(5.0, 1.0/3.0))
// 출력 결과: 1.7099759466766968
// 검산
/// fmt.Printf("5의 세제곱근의 세제곱: %.16f\n", math.Pow(1.7099759466766968, 3.0))
fmt.Printf("The cube of cbrt of 5: %.16f\n", math.Pow(1.7099759466766968, 3.0))
// 출력 결과: 4.9999999999999981
/// fmt.Printf("5의 세제곱근의 세제곱: %.16f\n", math.Pow(1.7099759466766968, 3.0))
fmt.Printf("The cube of cbrt of 5: %.16f\n", math.Pow(1.7099759466766968, 3.0))
// 출력 결과: 4.9999999999999981
/// fmt.Printf("\n\n\n\t< 2의 n제곱근 표 >\n\n");
fmt.Printf("\n\n\n\t< Table of two' square roots >\n\n");
fmt.Printf("\n\n\n\t< Table of two' square roots >\n\n");
var n float64
for n = 2.0; n <= 20.0; n++ {
/// fmt.Printf("2의 %2.0f제곱근 = %.16f\n", n, math.Pow(2.0, 1.0 / n))
fmt.Printf("The %2.0f-th root of 2 is %.16f\n", n, math.Pow(2.0, 1.0 / n))
}
}
for n = 2.0; n <= 20.0; n++ {
/// fmt.Printf("2의 %2.0f제곱근 = %.16f\n", n, math.Pow(2.0, 1.0 / n))
fmt.Printf("The %2.0f-th root of 2 is %.16f\n", n, math.Pow(2.0, 1.0 / n))
}
}
컴파일 및 실행 결과 화면:
$ go build example.go
$ ./example
5의 세제곱근: 1.7099759466766968
The cbrt of 5: 1.7099759466766968
The cube of cbrt of 5: 4.9999999999999991
$ ./example
5의 세제곱근: 1.7099759466766968
The cbrt of 5: 1.7099759466766968
The cube of cbrt of 5: 4.9999999999999991
< Table of two' square roots >
The 2-th root of 2 is 1.4142135623730951
The 3-th root of 2 is 1.2599210498948732
The 4-th root of 2 is 1.1892071150027210
The 5-th root of 2 is 1.1486983549970351
The 6-th root of 2 is 1.1224620483093730
The 7-th root of 2 is 1.1040895136738123
The 8-th root of 2 is 1.0905077326652577
The 9-th root of 2 is 1.0800597388923061
The 10-th root of 2 is 1.0717734625362931
The 11-th root of 2 is 1.0650410894399627
The 12-th root of 2 is 1.0594630943592953
The 13-th root of 2 is 1.0547660764816467
The 14-th root of 2 is 1.0507566386532194
The 15-th root of 2 is 1.0472941228206267
The 16-th root of 2 is 1.0442737824274138
The 17-th root of 2 is 1.0416160106505838
The 18-th root of 2 is 1.0392592260318434
The 19-th root of 2 is 1.0371550444461919
The 20-th root of 2 is 1.0352649238413776
The 3-th root of 2 is 1.2599210498948732
The 4-th root of 2 is 1.1892071150027210
The 5-th root of 2 is 1.1486983549970351
The 6-th root of 2 is 1.1224620483093730
The 7-th root of 2 is 1.1040895136738123
The 8-th root of 2 is 1.0905077326652577
The 9-th root of 2 is 1.0800597388923061
The 10-th root of 2 is 1.0717734625362931
The 11-th root of 2 is 1.0650410894399627
The 12-th root of 2 is 1.0594630943592953
The 13-th root of 2 is 1.0547660764816467
The 14-th root of 2 is 1.0507566386532194
The 15-th root of 2 is 1.0472941228206267
The 16-th root of 2 is 1.0442737824274138
The 17-th root of 2 is 1.0416160106505838
The 18-th root of 2 is 1.0392592260318434
The 19-th root of 2 is 1.0371550444461919
The 20-th root of 2 is 1.0352649238413776
'프로그래밍 > Go' 카테고리의 다른 글
손으로 계산하는 긴 자리 곱셈표 만들기 with Go (0) | 2012.06.28 |
---|---|
손으로 만드는 나눗셈 계산표 with Go (0) | 2012.06.27 |
삼각형 출력 예제를 통한 여러 가지 소스 비교 with Go (0) | 2012.06.26 |
7비트 ASCII 코드표 만들기 예제 with Go (0) | 2012.06.25 |
진법(radix) 표 만들기 예제 with Go (0) | 2012.06.25 |