본문 바로가기
Computer Science

암호생성기

by OKOK 2019. 1. 22.

1. 문제를

2. 예제처럼 풀 필요는 없음

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
42
43
44
45
46
#include <stdio.h>
#define SIZE 8
 
int num[SIZE];
 
int main()
{
    freopen("input.txt""r", stdin);
    int T, test_case;
    int idx;
    int i;
 
    for (T = 1; T <= 10++T)
    {
        idx = 0;
        scanf("%d"&test_case);
        for (i = 0; i < SIZE; ++i)
        {
            scanf("%d", num + i);
        }
        while (1)
        {
            for (i = 1; i <= 5++i) // 1부터 5까지 감솧마
            {
                if (num[idx%SIZE] > i) // 들어있는 숫자가 뺄 숫자보다 크면 그러니 0이나 음수가 되지 않으면,
                {
                    num[idx%SIZE] -= i; // 빼고,
                    ++idx;                // 다음 인덱스로 넘어감
                }
                else // 뺄 숫자보다 적으면
                {
                    num[idx % SIZE] = 0// 0으로 처리하고,
                    ++idx; // 인덱스를 +함 -> 이동하는 것 까지가 마무리임
                    break// 첫 번째 FOR문 아웃
                }
            }
            if (i <= 5// 두 번째 FOR문 아웃
                 break;
        }
        printf("#%d ", test_case);
        for (i = idx; i < idx + SIZE; ++i)
            printf("%d ", num[i % SIZE]);
        printf("\n");
    }
    return 0;
}
cs

 


'Computer Science' 카테고리의 다른 글

암호문3  (0) 2019.01.22
미로1  (0) 2019.01.22
계산기2  (0) 2019.01.22
계산기1  (0) 2019.01.22
magnetic  (0) 2019.01.22

댓글