본문 바로가기

프로그래밍 문제/정올

234 : 함수3 - 형성평가4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
 
#pragma warning (disable:4996)
 
void sequence(int before_n2, int before_n1, int limit)
{
    // 현재 출력해야 할 값 연산
    int cur_n = (before_n2 * before_n1) % 100;
 
    before_n2 = before_n1;            // 값을 하나씩 미룸
    before_n1 = cur_n;
 
    if (limit == 3) {                 // 3부터 시작하므로, 3을 입력하면 3번째 값 출력하고 종료
        printf("%d ", cur_n);            // 값 출력
        return;                     // 반복 종료
    }
 
    // 한번 반복 했으니 '리미트-1'을 전달
    sequence(before_n2 ,before_n1, limit - 1);
}
 
int main() {
 
    int limit;
    scanf("%d"&limit);
 
    // 첫 번째와 두 번째 상황 처리
    if (limit == 2) {
        printf("2");
    }
    else if (limit == 1) {
        printf(1 );
    }
    else {
        // n-2번째, n-1번째, 최대 반복 회수를 인자로 전달
        sequence(12, limit);
    }
 
    return 0;
 
}
cs