[HOMEWORK] Math For Developers Problem 6 LCM
Някой може ли да ми обясни:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LeastCommonMultiple
{
    class LeastCommonMultiple
    {
        public static void Main()
        {
            int num1, num2, x, y, lcm;
            Console.Write("Enter the First Number : ");
            num1 = int.Parse(Console.ReadLine()); // въвеждаме 4
            Console.Write("Enter the Second Number : ");
            num2 = int.Parse(Console.ReadLine()); // въвеждаме 12
            x = num1; // x = 4
            y = num2; // y = 12
            while (num1 != num2)
            {
                if (num1 > num2) // 4 > 12
                {
                    num1 = num1 - num2; // кода прескача 
                }
                else
                {
                    num2 = num2 - num1; // 12 = 12 - 4 и 12 вече става 8
                }
            }
            lcm = (x * y) / num1; // Първо мислех, че тук y вече е равно на 8 и (4*8) / 4, но тъй като y е извън циклите всъщност си е 12 или (4*12)/12 = 12. Тогава защо са нужни проверките до момента?!
            Console.Write("Least Common Multiple is : " + lcm);
            Console.Read();
        }
    }
}
Някой може ли да ми обясни логиката, тъй като не виждам общото между кода и обяснението в лекцията и малко се пообърках.
Супер!
Много благодаря! Видях, къде бъркам и сега ми се изясни! Пропускам факта, че все пак имам while цикъл с ясно условие и if-а се изпълнява докато се изпълни условието на while цикъла - просто, но явно "гледам и не вярвам на ушите си", както се казва :)