啊哈磊_编程从这里起步

标题: 我想列出100~200的质数,求大神修改 [打印本页]

作者: qianhao    时间: 2014-9-14 14:53
标题: 我想列出100~200的质数,求大神修改
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
        int k,a,i,fa;
    for(k=100;k<=200;k++)
   fa=0;
            for(i=2;i<=k-1;i++)
    {if(k%i==0){fa=1;break;}
    if(fa==0)printf("%d\n",k);}
        system("pause");
    return 0;
             }  


作者: 4399APPLE    时间: 2014-9-14 15:31
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
        int k,a,i,fa;
    for(k=100;k<=200;k++)
    {
                fa=0;
                        for(i=2;i<=k-1;i++)
                                if(k%i==0)
                {
                                        fa=1;
                    break;
                }
                if(fa==0)printf("%d\n",k);
    }
    system("pause");
    return 0;
}
[/mw_shl_code]
作者: Amath13    时间: 2014-9-19 21:07
不如使用筛选法吧,建立一个空间为200的数组。然后一个一个筛选,大概到(int) sqrt(MAX)就可以了,实在不行就加一。
最后可以得到1至200内的所有质数,然后从101开始输出。
(可惜,O(N^2)。)
作者: rosynirvana    时间: 2014-9-19 21:44
Amath13 发表于 2014-9-19 21:07
不如使用筛选法吧,建立一个空间为200的数组。然后一个一个筛选,大概到(int) sqrt(MAX)就可以了,实在不行 ...

筛法不是O(N^2)……
作者: Amath13    时间: 2014-9-22 20:28
楼上的,额,当时一时脑抽——乱写的。




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2