ユークリッドの互除法
通分のために最大公約数を求める。
#include <iostream> using namespace std; template<class T> T gcd( T m, T n ) { if( m < n ) swap( m, n ); if( 0 == n ) return m; if( 0 == n % m ) return n; m = m % n; swap( m, n ); return gcd<T>( m, n ); } int main() { int input_m, input_n; cout << "ユークリッドの互除法により最大公約数を計算します。" << endl << "m を入力してください >"; cin >> input_m; cout << "n を入力して下さい >"; cin >> input_n; cout << input_m << " と " << input_n << " の最大公約数は " << gcd( input_m, input_n ) << " です。" << endl; return 0; }