已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > C/C++ > 源码

标题: c代码,100万质数输出只要1秒内。

作者: @Ta

时间: 2013-04-22

点击: 8445

#include<stdio.h>
#define MAX 100
#define N 10
int prime[MAX+1]={0};
main()
{
int i,j,cnt=0;
for(i=2;i<=MAX;i++)
prime=1;
for(i=2;i<=MAX;i++)
if(prime)
for(j=i+i;j<=MAX;j+=i)
prime[j]=0;
for(i=1;i<=MAX;i++)
if(prime)
{
cnt++;
printf("%d%c",i,cnt==N?'\n':32);
}
return 0;
}这是小学六年级质数与合数教的算法。。。简单来说就是1去掉,2留下,2的倍数去掉,3留下,3的倍数去掉,5留下,5的倍数去掉。。。。求懂的分析下代码,共同学习。

[隐藏样式|查看源码]


『回复列表(14|隐藏机器人聊天)』

1. 貌似速度很慢啊
(/@Ta/2013-04-22 10:12//)

2. 效率为什么怎么快?如果输出100万的话内存回多了几十兆!我分析到prime就卡了,不知虎哥(@老虎会游泳 )有什么独到的见解。
(/@Ta/2013-04-22 10:24//)

3. @ 运行试试吧!:-)
(/@Ta/2013-04-22 10:26//)

4. 只求了100以内,用c4droid几秒!
(/@Ta/2013-04-22 11:34//)

5. @小林 的确,挺快。100万几秒内
(/@Ta/2013-04-22 11:37//)

6. cnt代表的啥意思?处女贴?
(/@Ta/2013-04-22 13:18//)

7. 额!电脑和手机是有差别的。@ 
(/@Ta/2013-04-22 13:26//)

8. @icEz 想象力挺丰富的!哈哈:-D。
(/@Ta/2013-04-22 13:32//)

9. @icEz 糗百看多了
(/@Ta/2013-04-22 15:38//)

10. @我叫小明 没有,。
(/@Ta/2013-04-22 15:50//)

11. @icEz 那至少说明你看过糗百行了吧
(/@Ta/2013-04-22 18:57//)

12. @icEz,count。
(/@Ta/2013-04-27 17:13//)

13. 省元音缩略词。
(/@Ta/2013-04-27 17:14//)

14. @老虎会游泳 原来如此
(/@Ta/2013-04-27 17:29//)

回复需要登录

7月23日 09:43 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1