자바에서 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
import (
     "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("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");
  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))
  }
}




컴파일 및 실행 결과 화면:

$ go build example.go
$ ./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


 

Posted by Scripter
,