求N以内的质数
时间:2010-11-18 来源:xiayongchun
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
//bool bPrime = true; .......(1)
for (int i = 2; i < 10000; i++)
{
bool bPrime = true;
for (int j = 2; j <= sqrt(i); j++)
{
if (i % j == 0)
{
bPrime = false;
break;
}
}
if (bPrime)
{
printf("%5d",i);
}
}
return 0;
} 开始的时候我把标志语句放在了(1)的位置上这样是错误的,逻辑上应该是每个数字都要进行自己的标志的判断,而不是大家共有一个标志位的! 理解这里为什么去sqrt(n)效率高于n-1 或者 n/2
#include <stdlib.h>
#include <math.h>
int main()
{
//bool bPrime = true; .......(1)
for (int i = 2; i < 10000; i++)
{
bool bPrime = true;
for (int j = 2; j <= sqrt(i); j++)
{
if (i % j == 0)
{
bPrime = false;
break;
}
}
if (bPrime)
{
printf("%5d",i);
}
}
return 0;
} 开始的时候我把标志语句放在了(1)的位置上这样是错误的,逻辑上应该是每个数字都要进行自己的标志的判断,而不是大家共有一个标志位的! 理解这里为什么去sqrt(n)效率高于n-1 或者 n/2
相关阅读 更多 +