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

简介: C练习实例14 - 将一个正整数分解质因数。

题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。
(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

include

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=233*5

相关文章
|
1月前
|
算法
容斥原理:能被整除的数
容斥原理:能被整除的数
|
1月前
|
Python
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
|
1月前
将一个正整数分解质因数
将一个正整数分解质因数。
20 2
|
1月前
55.输入两个正整数m和n,求其最大公约数和最小公倍数
55.输入两个正整数m和n,求其最大公约数和最小公倍数
24 0
|
1月前
54.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
54.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
28 0
|
1月前
L1-025 正整数A+B
L1-025 正整数A+B
29 1
|
1月前
11.09作业详解(弹球距离,素数,最大公约数最小公倍数,求整数位数及其各位数字之和,打印乘法表)
11.09作业详解(弹球距离,素数,最大公约数最小公倍数,求整数位数及其各位数字之和,打印乘法表)
|
7月前
|
人工智能 算法 程序员
求两个正整数的最小公倍数
求两个正整数的最小公倍数
|
11月前
|
Python
【每周一坑】​正整数分解质因数 +【解答】计算100以内质数之和
关于分解质因数:每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。分解质因数只针对合数。
(JAVA编程练习):输入两个正整数m和n,求其最大公约数和最小公倍数。
(JAVA编程练习):输入两个正整数m和n,求其最大公约数和最小公倍数。
(JAVA编程练习):输入两个正整数m和n,求其最大公约数和最小公倍数。