C# programok ismertetése érdeklődőknek kezdőktől haladókig

C# MŰHELY

C# MŰHELY

Két egész szám legnagyobb közös osztója 3. megoldás

2020. június 18. - Benkő Tiborné

Írjunk programot, amely euklideszi algoritmus segítségével megkeresi két pozitív egész szám leg­nagyobb közös osztóját!

Az euklideszi algoritmus szerint, ha a kisebbik szám maradék nélkül megvan a nagyobbikban, akkor a kisebbik lesz a legnagyobb közös osztó. Ha van maradék, a legnagyobb közös osztó kisebb vagy egyenlő lesz a maradékkal. A következő próbálkozásnál a kisebbik szám lép az osztandó, a maradék pedig az osztó he­lyébe. Az algoritmus így mindaddig folytatódik, míg a maradék nulla nem lesz, ekkor az aktuális osztó lesz a legnagyobb közös osztó.

A feladat megoldása:

           // Legnagyobb közös osztó Euklideszi algoritmussal
        private void button1_Click(object sender, EventArgs e)
        {
            int szám1, szám2, osztó = 0, r;
            if (textBox1.Text != "" && textBox2.Text != "")
            {
                szám1 = Int32.Parse(textBox1.Text);
                szám2 = Int32.Parse(textBox2.Text);
                if (szám1 > 0 && szám2 > 0)
                {
                    do
                    {
                        r = szám1 % szám2;
                        if (r == 0)
                             osztó = szám2;
                        else
                        {
                            szám1 = szám2;
                            szám2 = r;
                        }
                    } while (r > 0 );
                    if (osztó == 1)
                         textBox3.Text =
                             "Nincs legnagyobb közös osztójuk.";
                    else
                         textBox3.Text = "" + osztó;
                 }
             }
         }

        // Ha az első adat változik, a korábbi eredmény törlődik
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
             textBox3.Text = "";
        }

        // Ha a második adat változik, a korábbi eredmény törlődik
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
             textBox3.Text = "";
        }

A program futási eredményei:

 

   

A bejegyzés trackback címe:

https://csharp-muhely.blog.hu/api/trackback/id/tr4115856002

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása