백준 10870번 피보나치수5 문제풀이


https://www.acmicpc.net/problem/10870



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
 
using namespace std;
 
int fivo(int N)
{
    if (N == 0return 0;
    if (N == 1return 1;
    return fivo(N-1)+ fivo(N-2);
}
 
int main()
{
    int N;
    cin >> N;
 
    cout << fivo(N);
}
cs



백준 10872번 팩토리얼 문제풀이


https://www.acmicpc.net/problem/10872



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
 
using namespace std;
 
int fact(int N)
{
    if (N <= 1) { return 1; }
    return N * fact(N - 1);
}
 
int main()
{
    int N;
    cin >> N;
 
    cout << fact(N);
}
cs


만약 재귀로 풀었는데 시간초과 에러가 나는 경우.

if (N == 1) { return 1; }

루프 탈출 조건이 N==1로 해서 그럴 것입니다

입력이 0부터 받아지기 때문에, 조건문을 N==1로 하면 무한루프에 빠지게 되므로 조건문을 N<=1로 해주어야 합니다. 


+ Recent posts