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

C# MŰHELY

C# MŰHELY

Egész számot törzstényezős és hatványkitevős alakra bontja függvénnyel

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

Írjunk programot, amely egy egész számot törzstényezős és hatványkitevős alakra bontja függvénnyel.

A feladat megoldása:

             static void Törzstényezős(int szám, out string s)
         {
            int osztó, db = 0;
            s = "";
            while (szám != 1)
            {
                osztó = 2;
                while (szám % osztó != 0)
                {
                    osztó++;
                }
                szám = szám / osztó;
                db++;
                if (szám == 1) s += osztó;
                else s += osztó + "*";
            }
        }

        static void Hatványkitevős(int szám, out string s)
        {
            int osztó, előzö, hatv;
            bool első = true;
            s = "";
            előzö = 2; hatv = 0;
            while (szám != 1)
            {
                osztó = 2;
                while (szám % osztó != 0)
                {
                    osztó++;
                }
                if (első)
                {
                    előzö = osztó;
                    s += osztó;
                    első = false;
                }
                if (előzö == osztó) hatv++;
                else
                {
                    if (hatv > 1)
                    {
                        s += "^" + hatv + "*" + osztó;
                        hatv = 1;
                    }
                    else
                        s += "*" + osztó;
                }
                szám = szám / osztó;
                if (szám == 1 && előzö == osztó && hatv > 1)
                    s += "^" + hatv;
                előzö = osztó;
            }
        }

        private void Megoldás_Click(object sender, EventArgs e)
        {
            int szám;
            string s1, s2;
            if(textBox1.Text != "")
            {
                szám = Int32.Parse(textBox1.Text);
                if (szám > 0)
                {
                    Törzstényezős(szám, out s1);
                    textBox2.Text = s1;
                    Hatványkitevős(szám, out s2);
                    textBox3.Text = s2;
                }
                else
                    MessageBox.Show("Az adat nem megfelelő");
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox2.Text = "";
            textBox3.Text = "";
        }

A program futási eredményei:

    

    

 

A bejegyzés trackback címe:

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

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