본문 바로가기

IT Study/Algorithm

[백준 알고리즘]4880번 다음수



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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdio.h>
 
int main(void)
{
    int arr[1000][2]={0,};
 
    int index=0;
    while(1){
        int num1=0,num2=0,num3=0;
 
        scanf("%d %d %d",&num1,&num2,&num3);
 
        if(num1==0 && num2==0 && num3==0)
            break;
 
 
        //AP == 1
        int gap1=num2-num1;
        int gap2=num3-num2;
 
        if( gap1 == gap2 ){
            arr[index][0]=1;
            arr[index++][1]=num3+gap1;
            //printf("AP %d", num3+gap1);
            continue;
        }
        //GP == 2
 
        int multi_gap1=0;
        int multi_gap2=0;
        if(num2%num1 == 0)
            multi_gap1 = num2/num1;
 
        if(num3%num2 == 0)
            multi_gap2 = num3/num2;
 
        if( multi_gap1 != 0 && (multi_gap1 == multi_gap2) ){
            arr[index][0]=2;
            arr[index++][1]=num3*multi_gap1;
            continue;
            //printf("GP %d",num3*multi_gap1);
        }
 
    }
    
    index=0;
    while(arr[index][0]!=0){
        if(arr[index][0]==1){
            printf("AP %d", arr[index++][1]);
        }else if(arr[index][0]==2){
            printf("GP %d", arr[index++][1]);
        }
 
        if(arr[index][0]!=0)
            printf("\n");
    }
    return 0;
}
 
 
cs


'IT Study > Algorithm' 카테고리의 다른 글

[백준 알고리즘]1011번 Fly me to the Alpha Centauri  (0) 2018.08.21
[백준 알고리즘]2292번 벌집  (0) 2018.08.21
암호화와 복호화  (0) 2018.05.17
진수 변환 코드  (0) 2018.05.17
피보나치 수열  (0) 2018.05.15