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 2. megoldás

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

A legnagyobb közös osztó keresését do-while ciklussal is megoldhatjuk. Az 1. megoldás programot felhasználva az alábbi módosításokat kell végrehaj­tanunk:

  • Mivel a do-while ciklus hátul tesztelő, ezért a számok beolvasása után egy feltételes utasításban meg kell vizsgálnunk, hogy a szám1 és a szám2 tar­talma nagyobb-e 1-nél, mert csak akkor foglalkozunk a legnagyobb kö­zös osztó keresésével.
  • A ciklusmag változatlan marad, a leállási feltétel:

       (osztó <= szám1 && osztó <= szám2)

a do-while ciklus addig működik, míg a feltétel igaz, tehát az osztó egyik számot sem haladta túl. 

 A feladat megoldása:

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

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

       // Ha a második adat változik, a korább 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/tr2715841502

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