C 语言练习范例 14 - 将一个正整数分解质因数

返回上一级

题目

将一个正整数分解质因数。例如:输入90,打印出90=233*5。

程序分析

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

  1. 如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。

  2. 但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步

  3. 如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

程序代码

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include<stdio.h>
int main()
{
    int n,i;
    printf("请输入整数:");
    scanf("%d",&n);
    printf("%d=",n);
    for(i=2;i<=n;i++)
    {
        while(n%i==0)
        {
            printf("%d",i);
            n/=i;
            if(n!=1) printf("*");
        }
    }

    printf("\n");
    return 0;
}

运行结果

运行以上代码,输出结果为

请输入整数:90
90=2*3*3*5

返回上一级

C 语言经典 100 例

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.