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

C# MŰHELY

C# MŰHELY

Két egész szám legkisebb közös többszöröse 1. módszer

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

Írjunk programot, amely két egész számnak megkeresi a legkisebb közös többszörö­sü­ket.

Algoritmus készítése

Keressük meg 8 és 18 egész számok legkisebb közös többszörösét kézi szá­mo­lással.

osztó1

szám1

szám2

legkisebb közös több­szörös

1

8

18

1

2

4

9

2

2

2

9

4

2

1

9

8

3

-

3

24

3

-

1

72

 
A legkisebb közös többszörös meghatározásához törzstényezőkre bontjuk a számokat. Először a szám1-nek keressük a törzstényezőit, és a megtalált törzs­té­nyezővel el­osztjuk a szám1-t. A szám2-őt csak akkor osztjuk a törzstényező­vel, ha az osztója a számnak. A legkisebb többszöröst beszorozzuk a megtalált törzstényezővel, ezt addig végezzük, míg a szám1 1 lesz. Ezután a szam2-vel is addig folytatjuk a törzstényezőre bontást míg a szám2 is 1-gyé válik.

 A feladat megoldása:

            // Legkisebb közös többszörös
        private void button1_Click(object sender, EventArgs e)
        {
             int szám1, szám2, osztó1, osztó2, lktöbb= 0, sz;
             if (textBox1.Text != "" && textBox2.Text != "")
             {
                 szám1 = Int32.Parse(textBox1.Text);
                 szám2 = Int32.Parse(textBox2.Text);
                 if (szám1 > szám2)
                 {
                     sz = szám2; szám2 = szám1;
                     szám1 = sz;
                 }
                 if (szám1 > 1 && szám2 > 1)
                 {
                     lktöbb = 1;
                     while (szám1 != 1)
                     {
                         osztó1 = 2;
                         while (szám1 % osztó1 != 0)
                              osztó1++;
                         if (szám2 % szám1 == 0)
                              szám2 /= osztó1;
                         lktöbb *= osztó1;
                         szám1 /= osztó1;
                     }
                     while (szám2 != 1)
                     {
                         osztó2 = 2;
                         while (szám2 % osztó2 != 0)
                              osztó2++;
                         szám2 /= osztó2;
                         lktöbb *= osztó2;
                    }
                 }
                 else
                      MessageBox.Show("Az adat hibás!", "Üzenet");
                 textBox3.Text = "" + lktöbb;
             }
         }

        // 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/tr5315856000

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