解题思路:利用筛法求素数
注意事项:
参考代码:
#include <stdio.h>
#include <math.h>
int isPrime(int n)
{
int k = (int)sqrt(n);
for (int i = 2; i <= k; i++)
{
if (n % i == 0) //不是素数
return 0;
}
return 1; //是素数
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
for (int i = a; i <= b; i++)
{
printf("%d=", i);
int k = i;
for (int j = 2; j <= i; j++) //质因数
{
if ((i % j == 0) && (isPrime(j) == 1))
{
while ((k != 1)&&(k%j==0))
{
if (j != k)
printf("%d*", j);
else
printf("%d", j);
k /= j;
}
}
}
printf("\n");
}
return 0;
}
0.0分
3 人评分