1. 题目要求:即因式分解
2. 思路:将[a,b]区间的每个数分解因式即可,非常简单。值得注意的是循环的上限,只需要循环到该实数n的二次根式即可。(如果在根号n以内还没有找到可以被整除的数,那么该数一定是质数)
3.C语言代码
#include <stdio.h>
#include<math.h>
void div(int n)
{
int temp=n,i;
for (i = 2; i <= sqrt(n); i++)
{
while (temp % i == 0 && temp != i)
{
temp = temp / i;
printf("%d*",i);
}
}
printf("%d\n",temp);
}
int main() {
int a, b,i;
while (scanf("%d %d", &a, &b) != EOF)
{
if (a >= 2 && b <= 10000 && a <= b)
{
for (i = a; i <= b; i++)
{
printf("%d=",i);
div(i);
}
}
}
return 0;
}