分解质因数:将一个合数写成几个质数乘积的形式
1.题目描述:
求出区间[a,b]中所有整数的质因数分解。
2.提示:
先筛出所有素数,然后再分解。
3.要求:
输入:两个整数a,b。
2< =a< =b< =10000
输出:每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< =a3...,k也是从小到大的)
#include<stdio.h>
int main()
{
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d = ", n);
//运用短除法
for (int i = 2; i <= n; i++)
{
while (n != i)
{
if ((n % i) == 0)//余数为0
{
printf("%d*", i);
n = n / i;//n取整数部分
}
else
{
break;
}
}
}
printf("%d\n", n);
return 0;
}
4.样例分析:
5.运行结果: