While Loop

v1=42  v2=30
GCM=6 です

While Loop(条件ループ)で最大公約数(GCM)を求めます。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. フォルダーに次のファイルを格納して下さい。
    /******************************/
    /*★ GCM の計算     前田 稔 ★*/
    /******************************/
    using System;
    
    class Prog
    {
        public static int Main()
        {
            int     v1= 24;
            int     v2= 32;
            //int     v1= 42;
            //int     v2= 30;
    
            Console.WriteLine("v1={0}  v2={1}",v1,v2);
            while(v1!=v2)
            {   if (v1>v2)  v1-= v2;
                if (v2>v1)  v2-= v1;
            }
            Console.WriteLine("GCM={0} です",v1);
            Console.ReadLine();
            return 0;
        }
    }
    
  2. While は条件が満足している間、繰り返しを行う命令です。
    v1 != v2 の間(v1とv2が等しくなるまで) { ..} 内の命令を繰り返します。
    当然のことながら { ..} 内の命令を繰り返すことにより、終了条件が満たされなければなりません。
    今回は最悪でも V1 と V2 が1になれば繰り返しが終了します。
            while(v1!=v2)
            {   if (v1>v2)  v1-= v2;
                if (v2>v1)  v2-= v1;
            }
        
    繰り返しながら実行する命令が一個のときは { } は不要です。
  3. 最大公約数(GCM)とは、二個の整数を割り切ることのできる最大の数です。
    最大公約数はユークリッドの互除法を応用した次の手順で計算できます。
    1. data1 と data2 が等しいとき data1 が最大公約数です。
    2. data1 が data2 より大きいとき data1-=data2 を計算して 1. に戻ります。
    3. data2 が data1 より大きいとき data2-=data1 を計算して 1. に戻ります。

超初心者のプログラム入門(C# Frame Work)