1. 程式人生 > >【基礎】1012 最小公倍數LCM

【基礎】1012 最小公倍數LCM

小心gcd()函式返回型別long long

遞迴:

#include<iostream>
using namespace std;
long long gcd(long long a,long long  b){
	return b==0?a:gcd(b,a%b);
}
int main(){
	long long a,b;
	cin>>a>>b;
	cout<<a/gcd(a,b)*b;
	return 0;
}

迭代:

N久沒有 %lld 了。

#include<cstdio>
int main(){
	long long a,b,c,d;
	scanf("%lld%lld",&a,&b);
	c=a;
	d=b;
	while(b>0){
		long long r=a%b;
		a=b;
		b=r;
	}
	printf("%lld",c/a*d);	
	return 0;
}