分解质因数(难度:半颗星)

问题描述:

输入一个正整数,输出它的质因数分解的结果。
PS:质因子从小到大排列

例如:
输入:30
输出:30=2*3*5

输入:5
输出:5=5

参考代码:

#include 

int main()
{
    int i, n;
    printf("输入一个正整数n:");
    scanf_s("%d", &n);
    printf("%d=", n);
    for (i = 2; i < n; i++)//对【2,n - 1】范围内的数进行遍历,并且n会随着找到了因子之后而缩小遍历范围
    {
        while (i != n)
        {
            if (n % i == 0)
            {
                printf("%d*", i);
                n /= i;
            }
            else
                break;
        }
    }
    printf("%d\n", n);
    return 0;
}

运行结果:

分解质因数(难度:半颗星)_第1张图片

你可能感兴趣的:(C/C++程序设计练习,程序设计练习专栏)