【C 语言经典100例】C 练习实例14 - 将一个正整数分解质因数

简介: 【C 语言经典100例】C 练习实例14 - 将一个正整数分解质因数

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


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


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


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


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


#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


目录
相关文章
|
8月前
|
C语言
C语言实例——猴子吃桃
【1月更文挑战第17天】C语言实例——猴子吃桃。
73 1
|
8月前
|
机器学习/深度学习 网络协议 C语言
C语言实例
【1月更文挑战第16天】C语言实例。
156 1
|
8月前
|
Ubuntu 编译器 Linux
C语言中经典的结构体和联合体共用实例
C语言中经典的结构体和联合体共用实例
69 0
|
8月前
|
Shell C语言
C语言实例——小球自由下落
【1月更文挑战第16天】C语言实例——小球自由下落。
133 0
|
8月前
|
C语言
C语言实例——1000以内的所有完数
【1月更文挑战第16天】C语言实例——1000以内的所有完数。
121 0
|
29天前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
35 5
|
8月前
|
存储 数据处理 C语言
C语言高级应用探讨与实例
C语言高级应用探讨与实例
66 1
|
8月前
|
C语言
C语言实例
【1月更文挑战第17天】C语言实例。
40 0
|
8月前
|
C语言
C语言循环结构程序设计详解及代码实例
C语言循环结构程序设计详解及代码实例
222 0
|
8月前
|
存储 C语言 索引
C语言一维数组与二维数组详解及代码实例
C语言一维数组与二维数组详解及代码实例
89 0