題目:將一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。(2)如果n<>k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新 ...
題目:將一個正整數分解質因數。例如:輸入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(); } }