编写程序求2到100以内所有质数,下面一个程序中当i=2时,从第二个for循环给我分析一下执行的过程,详细的!

2025-03-03 21:55:12
推荐回答(3个)
回答1:

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;
}

回答2:

这是最原始的求质数的方法,第二个for循环就是判断i是否有除1和自身以外其他的因子,有的话,就讲标志位tag置1,然后根据标志位是否为1判断i是否为质数

回答3:

很简单 马上好