/* 程序问题注释开始
-
程序的版权和版本声明部分
-
Copyright © 2020,湖南工程职业技术学院信息工程学院学生
-
All rights reserved.
-
文件名称: 分解质因数
-
作 者: 李 斌
-
完成日期: 2020 年 04 月 09日
-
对任务及求解方法的描述部分
-
问题描述
质因数分解。 -
输入格式
输入一个整数 i 。 -
输出格式
每行输出一个数的分解,形如k=a1 * a2 * a3 … (a1 <= a2 <= a3 … ,k也是从小到大的)(具体可看样例) -
样例输入
90 -
样例输出
90=2 * 3 * 3 * 5 -
提示
先筛出所有素数,然后再分解。 -
程序问题注释结束
*/
namespace PrimeFactorizationF
{
class Program
{
public static void Main(string[] args)
{
//用户输入一个数值
Console.Write("请输入一个数值");
int i = int.Parse(Console.ReadLine());
//质因数最小从2开始
int num = 2;
//保存用户输入值不被改变
int n = i;
//标志第一个值
int first = 1;
while (num <= n)
{
//判断是否还可以被当前数整除
if (!(i % num == 0))
{
//不能再被前一个数整除
num++;
}
else
{
//缩小当前倍数
i /= num;
//只执行一次
if (first == 1)
{
first = 0;
//输出第一个最小值
Console.Write(n + "=" + num);
}
else
{
//由小到大依次输出
Console.Write("*" + num);
}
}
}
//产生换行
Console.WriteLine();
}
}
}
运行结果: