#include<stdio.h>
#include<math.h>
int isprime(int n)
{
int flag = 1;
int i = 0;
for (i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
{
flag = 0;//起标志的作用
break;
}
}
return flag;
}
int main()
{
int max, min, i, j;
scanf("%d%d", &min, &max);//min到max的区间
for (i =min; i <= max; i++)
{
if (isprime(i))//说明这次i是质数
{
printf("%d=%d\n", i, i);
}
else//是合数的时候
{
int tmp = i;
printf("%d=", tmp);
for (j = 2; j < tmp; j++)
{
if (isprime(j))
{
while (tmp % j == 0)
{
printf("%d*", j);
tmp /= j;
if (isprime(tmp))
{
printf("%d", tmp);
break;
}
}
}
}
printf("\n");
}
}
return 0;
}
C/C++蓝桥杯题目之分解质因数
最新推荐文章于 2024-09-27 19:15:27 发布
该篇文章介绍了如何使用C语言编写一个程序,检查给定区间的整数是否为质数,并对合数进行分解,输出其质因数乘积。
摘要由CSDN通过智能技术生成