C# 練習題 將一個正整數分解質因數


題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
程序分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。
(2)如果n<>k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數你n,重復執行第一步。
(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。

    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("請輸入一個正整數:");
            int num = Convert.ToInt32(Console.ReadLine());
            int temp=num;  //將輸入值賦予temp變量,記錄整數余。
            string str = "分解質因數:" + num.ToString() + "=";
            for (int i = 2; i <= num;i++ )
            {
                if (temp % i == 0)
                {
                    temp = temp / i;
                    //Console.WriteLine(i);
                    str = str + i.ToString() + "*";  //將符合的數值添加到字符串中
                    i--;  //防止有多個能被相同數整除的情況
                }
 
            }
            Console.WriteLine(str.Substring(0, str.Length - 1));  //輸出字符串,並將字符串str中最后一個字符去除。
            Console.ReadKey();
        }
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM