[PR]

最大公約数、最小公倍数を求める

戻る

 最大公約数を求める。

//*********************************************************
// 最大公約数(Greatest Common Divisor)を返す。
// 引数に0がある場合は0を返す。
//*********************************************************
int gcd( int m, int n )
{
	// 引数に0がある場合は0を返す
	if ( ( 0 == m ) || ( 0 == n ) )
		return 0;
	
	// ユークリッドの方法
	while( m != n )
	{
		if ( m > n ) m = m - n;
		else         n = n - m;
	}
	return m;
}//gcd

 最小公倍数を求める。

//*********************************************************
// 最小公倍数(Least Common Multiple)を返す。
// 引数に0がある場合は0を返す。
//*********************************************************
int lcm( int m, int n )
{
	// 引数に0がある場合は0を返す
	if ( ( 0 == m ) || ( 0 == n ) )
		return 0;
	
	return ((m / gcd(m, n)) * n); // lcm = m * n / gcd(m,n)
}//lcm

Google
ご意見・ご感想をお聞かせ下さい。匿名で送信できます。

 * 返信が必要な場合には postmaster@katsura-kotonoha.sakura.ne.jp へ直接メールしてください。

水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
『新妻LOVELY×CATION』を応援しています!