ユークリッドの互除法

ユークリッドの互除法を作ってみました。



アルゴリズムとしては有名なユークリッドの互除法を実装してみました。
HTMLやCSSでソースコードの表示が出来るようなのだが・・・現在調べ中です~(ToT)ゞ スンマセン
(上記はブログのことです。)

Ruby
――――[ここから]――――
# ユークリッドの互除法(最大公約数を求める)
def euclidean_algorithm( num1=1, num2=1 )
	# 最大公約数を求める
	while num1 != num2
		# 大きい方の数から小さい方の数を引き算する
		if num1 > num2
			print num1.to_s + ' - ' +  num2.to_s
			num1 = num1 - num2;
			puts ' = ' + num1.to_s
		else
			print num2.to_s + ' - ' +  num1.to_s
			num2 = num2 - num1;
			puts ' = ' + num2.to_s
		end
	end
 
	return num1
end
 
# メイン処理
puts '最大公約数:' + euclidean_algorithm( 24, 18 ).to_s
 
――――[ここまで]――――

C++
――――[ここから]――――
#include <iostream>

// ユークリッドの互除法(最大公約数を求める)
int euclidean_algorithm( int num1=1, int num2=1 );
 
// メイン処理
int main()
{
	// 最大公約数を表示する
	std::cout << "最大公約数:" << euclidean_algorithm( 24, 18 ) << std::endl;
 
	return 0;
}
 
// ユークリッドの互除法(最大公約数を求める)
int euclidean_algorithm( int num1, int num2 )
{
	// 最大公約数を求める
	while( num1 != num2 )
	{
		// 大きい方の数から小さい方の数を引き算する
		if( num1 > num2 )
		{
			std::cout << num1 << " - " << num2;
			num1 = num1 - num2;
			std::cout << " = " << num1 << std::endl;
		}
		else
		{
			std::cout << num2 << " - " << num1;
			num2 = num2 - num1;
			std::cout << " = " << num2 << std::endl;
		}
	}
	return num1;
}
 
――――[ここまで]――――

この記事がみなさんの少しでも役に立てば僥倖です!!

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2009年10月26日 09:26
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。