Golang - 백준 27433 팩토리얼 2

2024. 12. 14. 15:40etc

728x90
반응형
/* 백준 27433 팩토리얼 2
https://www.acmicpc.net/problem/27433

* 문제

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

* 입력

첫째 줄에 정수 N(0 ≤ N ≤ 20)이 주어진다.

* 출력

첫째 줄에 N!을 출력한다.

* 예제 입력 1

10

* 예제 출력 1

3628800

* 예제 입력 2

0

* 예제 출력 2

1

*/

/* 풀이

recursive 의 기본적인 예입니다.

*/

package main

import (
	"fmt"
	"bufio"
    "os"
)

func fact(n int) int {
    if n == 1 || n == 0 {
        return 1
    }

    return n * fact(n - 1)
}

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter((os.Stdout))

    defer writer.Flush()

    var n int
    fmt.Fscanln(reader, &n)

    fmt.Fprintf(writer, "%d\n", fact(n))
}
728x90
반응형