Programing/C- programing
최대공약수 최소공배수 gcd lcm 소스코드
sosal
2011. 2. 12. 12:58
반응형
/*
* made by so_sal
* http://sosal.tistory.com/
*/
정수론 수업시간에 배웠던 호제법으로 옛날에 만들어놓은 소스입니다.
최근 더블릿 시작했는데, 3계단에서 많이 쓰이길래 올려봅니다.
gcd : 최대공약수
lcm : 최소공배수
#include<stdio.h>
#include<iostream>
#include<cstring>
using namespace std;
int gcd(int a,int b){
printf("a::%10d, b::%10d, a\%b::%10d\n",a,b,a%b);
if(a%b == 0){
return b;
}
return gcd(b,a%b); //호제법
}
int lcm(int a,int b){
return a*b/gcd(a,b);
}
int main(void){
int a,b;
cin>>a>>b;
printf("gcd를 구하는 과정 .. \n");
int Vgcd = gcd(a,b);
int Vlcm = a*b/Vgcd;
printf("gcd is :: %d\n",Vgcd);
printf("lcm is :: %d\n",Vlcm);
return 0;
}