C语言---分解质因数

392 阅读1分钟

题目描述 根据数论的知识可知,任何一个合数都可以写成几个质数相乘的形式,这几个质数都叫做这个合数的质因数。例如:24=2×2×2×3。现在从键盘输入一个正整数,请编程输出它的所有质因数 输入要求 从键盘输入一个正整数n,n<100000。 输出要求 输出该整数的所有质因数。 输入样例 180 输出样例 2 2 3 3 5 代码实现

#include <stdio.h>
​
int main()
​
{
    int n, i;
    scanf("%d", &n);
​
    for (i = 2; i <= n; i = i)
    {
        while (i <= n)
        {
            if (n % i == 0 && i != n)
            {
                printf("%d ", i);
                break;
            }
            else if (n % i == 0 && i == n)
            {
                printf("%d", i);
                break;
            }
            else
                i = i + 1;
        }
        n = n / i;
    }
​
    printf("\n");
    return 0;
}