백준 10872번 - 팩토리얼

이설군·2022년 6월 20일
0

백준

목록 보기
24/52

문제

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

입력

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

출력

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

예제 입력 1

10

예제 출력 1

3628800

예제 입력 2

0

예제 출력 2

1

제출

맞은 제출 1

let i = Int(readLine()!)!
func pak (_ i: Int) -> Int {
    if i==0 {
        return 1 
    }
    return i*pak((i-1))
}
print(pak(i))

이미 강의에서 한번 했던거라 쉽게 풀었다. 재귀함수를 꼭 써야하면 000을 사용해서 푸세요 라고 명시를 해줘..ㅠㅠ..대체 어떻게 알아봐야하는거야!

오답노트

틀린 제출 1

let i = Int(readLine()!)!
var s = 1
for j in 1...i {
	s *= j
}
print(s)

런타임 에러 재귀함수 문제여서 그렇다고 한다. 가끔 문제가 어떤 문법을 알고있는지에 대해 묻는게 있는것같은데 그걸 어디서 보는지 모르겠다. ㅠㅠ...

숏코딩

숏코딩 예제 1

let i = Int(readLine()!)!

for j in 1...i {
var s = 1
s *= j
}

profile
티끌 모아 태산. 내가 가는 길이 옳은 길이라 믿으며 최선을 다해 걷는다.

0개의 댓글