if(i%k==0) tag=1; 余数为0 ,即可以整除,就不是质数,标志tag设置为1
求质数用这个吧,刚弄着玩的
#define MAXNUM 1000
bool isPrime(long num)
{
bool bPrime = true;
for (int i=2;i*i<=num;i++)
{
if(0 == num%i)
{
bPrime = false;
break;
}
}
return bPrime;
}
int main(int argc, char* argv[])
{
long cnt = 0;
// long maxPrime=0;
for (long i=2;i<= MAXNUM;i++)
{
if(isPrime(i))
{
printf("%d\t",i);
//maxPrime = i;
cnt++;
}
}
printf("\r\n total cnt: %d\r\n",cnt);
return 0;
}
这是最原始的求质数的方法,第二个for循环就是判断i是否有除1和自身以外其他的因子,有的话,就讲标志位tag置1,然后根据标志位是否为1判断i是否为质数
很简单 马上好