문제
C 프로그래밍 언어를 사용하여 두 숫자에 대한 최대 공약수를 생성합니다.
해결책
사용자가 콘솔에서 두 개의 숫자를 입력하도록 합니다. 이 두 숫자에 대해 최대 공약수를 구해 보겠습니다.
두 숫자의 GCD는 두 숫자를 나머지 없이 정확히 나눈 가장 큰 숫자입니다.
두 숫자의 GCD를 찾는 데 사용하는 논리는 다음과 같습니다. -
while(b!=0) //check for b=0 condition because in a/b ,b should not equal to zero
{
rem=a % b;
a=b;
b=rem;
}
Print a 프로그램 1
#include<stdio.h>
int main(){
int a,b,rem;
printf("enter any two numbers:");
scanf("%d%d",&a,&b);
while(b!=0) //check for b=0 condition because in a/b ,b should not equal to zero{
rem=a % b;
a=b;
b=rem;
}
printf("GCD of two numbers is:%d\n",a);
return 0;
} 출력
enter any two numbers:8 12 GCD of two numbers is:4 Check: 8= 2 * 2 *2 12= 2 * 2 * 3 The Greatest common divisor of two numbers is : 2 * 2 =4
프로그램 2
이 예에서 for 루프 -
를 사용하여 두 숫자의 GCD를 구해 보겠습니다.#include <stdio.h>
int main(){
int num1, num2, i, GCD;
printf("enter two numbers: ");
scanf("%d %d", &num1, &num2);
for(i=1; i <= num1 && i <= num2; ++i){
if(num1%i==0 && num2%i==0)
GCD = i;
}
printf("GCD of two numbers is:%d", GCD);
return 0;
} 출력
enter two numbers: 24 48 GCD of two numbers is:24