分解质因数
1 static void Main(string[] args) 2 { 3 int s; 4 while (true) 5 { 6 Console.Write("请输入一个大于1的合数:"); 7 s = int.Parse(Console.ReadLine()); 8 if (s <= 1) 9 { 10 Console.Write("输入有误,请请按Enter键继续:"); 11 } 12 //判断是否为合数,否为退出清屏,再输入 13 else 14 { 15 bool a = false; 16 for (int i = 2; i < s; i++) 17 { 18 if (s % i == 0) 19 { 20 a = true; 21 break; 22 } 23 } 24 if (a) 25 { 26 break; 27 } 28 else 29 { 30 Console.WriteLine("您输入的数不是合数,请按Enter键继续"); 31 } 32 } 33 Console.ReadLine(); 34 Console.Clear(); 35 } 36 //把能整除合数的最小质数放入集合 37 int g = s; 38 List<int> nums = new List<int>(); 39 40 while (g != 1) 41 { 42 for (int i = 2; i <= g; i++) 43 { 44 if (g % i == 0) 45 { 46 g = g / i; 47 nums.Add(i); 48 break; 49 } 50 } 51 } 52 //输出 53 string result = s + "="; 54 for (int i = 0; i < nums.Count; i++) 55 { 56 result += nums[i]; 57 if (i < nums.Count - 1) 58 { 59 result += "x"; 60 } 61 } 62 Console.WriteLine(result); 63 Console.ReadLine(); 64 65 }