c++看不懂这个地方,这是程序里的一部分,谁能帮我解释一下……谢谢

2025-01-06 01:32:03
推荐回答(3个)
回答1:

*f标志默认为1 //默认他是素数
在2到n/2(更好的可以在2到√(n+1))中找寻因子,若!(n%k)即n%k == 0 则k是因子,故改变*f为0
其实此时可以直接break;
综上prime的功能是判断n是否是质数,是的话*f=1,否则*f=0;
调用:
int judge;
prime(2,&judge);//因为2是素数,所以judge=1

回答2:

f表示返回1,0!1表示是素数,否则为非素数!
前边循环为判断是否素数!也就是n能否除以2~n/2的整数

回答3:

貌似是求n是否为素数,如果是素数则*f=1;否则*f=0;
if(!(n%k))
{
*f=0;
break;
}