[C언어] 최대 공약수 계산 방법
ET의 공부/C언어2020. 12. 15. 19:13
C언어에서 최대 공약수를 계산하는 방법입니다.
1.for 문을 이용한 최대 공약수 계산방법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <stdio.h>
int main()
{
int n1, n2, i, gcd;
printf("두 정수를 입력: ");
scanf("%d %d", &n1, &n2);
for(i=1; i <= n1 && i <= n2; ++i)
{
if(n1%i==0 && n2%i==0)
gcd = i;
}
printf("%d 와 %d의 최대 공약수: %d\n", n1, n2, gcd);
return 0;
}
|
1. for 문에서 입력받은 n1과 n2중 작은 수의 값까지 1~n까지 반복을 합니다.
2. 입력 받은 두 정수 n1,n2 둘다 나누어지는(약수)의 값을 gcd에 저장합니다.
2. while 문을 이용한 최대 공약수 계산 방법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
int main()
{
int n1, n2;
printf("두 정수를 입력: ");
scanf("%d %d",&n1,&n2);
while(n1!=n2)
{
if(n1 > n2)
n1 -= n2;
else
n2 -= n1;
}
printf("최대 공약수: %d\n", n1);
return 0;
}
|
큰 정수의 값에 작은 변수의 값을 빼고 그 값을 큰 변수에 저장하는 것을 반복합니다.
'ET의 공부 > C언어' 카테고리의 다른 글
[C언어] 거듭 제곱 계산 방법 (0) | 2020.12.15 |
---|---|
[C언어] 최소 공배수 계산 방법 (0) | 2020.12.15 |
[C언어] 정수를 뒤집는(반전) 방법 (0) | 2020.12.13 |
[C언어] 피보나치 수열을 출력하는 방법 (0) | 2020.12.13 |
[C언어] 구구단을 출력하는 방법 (0) | 2020.12.13 |
댓글()