반응형

C언어 입력한 숫자의 공약수 (common divisor)

 

 

common divisor of 4, 12

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* Common divisor. */
#include <stdio.h>
 
int swapNum(int a, int b) {
    int temp;
    temp = a;
    a = b;
    b = temp;
}
 
int commonDivisor(int a, int b) {
    int number = a % b;
    if (number == 0return b;
    return commonDivisor(b, number);
}
 
int main() {
    int a = 4;
    int b = 12;
    if (a < b) swapNum(a, b);
    int result = commonDivisor(a, b);
    printf("common divisor of %d and %d is %d", a, b, result);
    return 0;
}
cs

 

 

common divisor - array

 

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
/* Common divisor. */
#include <stdio.h>
 
int swapNum(int num[]) {
    int temp;
    temp = num[0];
    num[0= num[1];
    num[1= temp;
}
 
int commonDivisor(int a, int b) {
    int number = a % b;
    if (number == 0return b;
    return commonDivisor(b, number);
}
 
int main() {
    int num[2];
    scanf("%d"&num[0]);
    scanf("%d"&num[1]);
    if (num[0< num[1]) swapNum(num);
    int result = commonDivisor(num[0], num[1]);
    printf("common divisor of %d and %d is %d", num[0], num[1], result);
    return 0;
}
cs

 

 

common divisor - array, method

 

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
/* Common divisor. */
#include <stdio.h>
 
int swapNum(int num[]) {
    int temp;
    temp = num[0];
    num[0= num[1];
    num[1= temp;
}
 
int commonDivisorArray(int num[]) {
    int number = num[0] % num[1];
    if (number == 0return num[1];
    num[0= number;
    return commonDivisorArray(num);
}
 
int* getInputNumbers() {
    static int num[2];
    printf("Input an integer: ");
    scanf("%d"&num[0]);
    printf("Input an integer: ");
    scanf("%d"&num[1]);
    return num;
}
 
int main() {
    int* num = getInputNumbers();
    if (num[0< num[1]) swapNum(num);
    int result = commonDivisorArray(num);
    printf("common divisor of %d and %d is %d", num[0], num[1], result);
    return 0;
}
cs

 

 

반응형