新人求助一下,程序输出为100~200之间的质数
c吧
全部回复
仅看楼主
level 1
约伊兹の贤狼.
楼主
图一写出来后可以正常运行,但是
lz
尝试了另一个思路,不用一直让除数递增到自身,即到自身的一半即可,因此写了图三的程序,但是最后什么也没输出,想问问各位大佬哪里出错了?😭
2025年08月24日 14点08分
1
吧务
level 11
油炸不良人
你的循环条件是≤mid,质数的话a会是mid+1而不是mid
2025年08月24日 15点08分
2
吧务
level 11
油炸不良人
根据质数/素数定义,2是唯一的偶数素数,所以只判断区间内的奇数即可
又奇数的因数不可能是偶数,所以只用奇数去判断能否整除即可
又又,通常因数只需要判断到平方根即可,如果在≤平方根的数里找不到因数,大于平方根小于原数的数里面肯定也没有因数!
2025年08月24日 15点08分
3
油炸不良人
这是用的比较多也比较容易理解的方法,还有很多其他的方法不大适合新手理解,就不说了
2025年08月24日 15点08分
吧务
level 11
油炸不良人
可以慢慢学着自己调试,比如多写几条printf随时观察变量数值变化,看看是否能达到预期目的!比如在你代码的if(a == mid)前边可以打印一次a的值
2025年08月24日 15点08分
4
油炸不良人
比如,printf("**DEBUG: %d %d %d\n", i, a, mid);
2025年08月24日 15点08分
吧务
level 11
油炸不良人
2025年08月24日 16点08分
5
约伊兹の贤狼.
好的,谢谢大佬
2025年08月25日 00点08分
1