新人求助一下,程序输出为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