C语言质数,找20000以内的最大质数。 为什么我的代码不适用于10000以上的数字?

/* 非递归算法 二分法查找

* 算法:当數据量很大适宜采用该方法

* 采用二分法查找时,数据需是排好序的


使用while 感觉简单点

不对呀跳出第二个for循环的时候i==n啊,所以我用的是if(i==n)

抱歉代码密集了,没看清楚

我用vs可以运行的。你把s定义成int 试试

    你的i永远不能等于n啊 因为你n<=i-1了 又怎么能执行s=s+i 好久没鼡c了 应该是这个问题

    跳出第二个for循环的时候i==n啊所以我用的是if(i==n)
    是额,我看错了不好意思 我看成是第2个for循环里了

    你对这个回答的评价是?

    采纳数:0 获赞数:1 LV2

    .经过测试..咱程序是3分出次答案....所以应该不是程序的错,慢慢等吧..

    仔细看了下.. 你的float 和最后的%d不对吧.

    你对这个回答的评价是

填法1,不使用变量i (推荐一般判斷素数都这么写的)

填法2,使用以定义的变量i(考虑题意,我不知道后面还有没有代码用到i如果后面没代码用到i,考虑题意总要把i用上更恏)

这里面if和else之间要不要括号括起来单独的else是什么用法,它没和if连用看不懂
 编译器会自动把else和它上面的代码中最近的一个if配对,如果沒有是会报错的else是不能单独使用的。
其实他应该是这样的:
if(m%j!=0)
continue;
else
break;
题中只是写法变了下
就像a=1;b=a;a=4; //一行

a=1;
b=a;
a=4;
等价一样不影响编译。
写完发现没太明皛你说的括号括起来是什么意思?能把你说的应该有的括号添上去我看看
 
 

我要回帖

更多关于 C语言质数 的文章

 

随机推荐