using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { // 1.提示并获取用户输入的合数,将该合数保存到变量number中 int number; while (true) { Console.WriteLine("请输入一个合数(大于1):"); number = int.Parse(Console.ReadLine()); #region 判断number的值是否正确 if (number <= 1) { Console.Write("输入有误,输出的数字必须大于1,按回车键继续"); Console.ReadLine();
} else {
//判断number是否是质数 bool isFind = false; for (int i = 2; i < number; i++) { if(number % i == 0) { isFind = true; break ; } } if (isFind ) { //不是质数 break; } else { //是质数 Console.Write("输入有误,输入的数字必须是合数,按回车键继续"); Console.ReadLine(); Console.Clear(); } #endregion
// 2.得到变量number所有的质因数,把它们保存到集合factors中 //创建一个用于保存质因数的集合 List<int> factors = new List<int>(); int n = number; while(n != 1) { for(int i = 2; i < n; i++) { if (n % i == 0) { //i就是n的最小质因数 n = n / i; factors.Add(i); break; } } } //3.输出结果 string result = number + "="; for (int i = 0; i < factors.Count ; i++) { result += factors[i]; if (i < factors.Count - 1) { result += "x";
} } Console.Write(result); Console.ReadLine();
} } } } }
|
请发表评论