12
返回列表 發新帖
樓主: 林宇翔
打印 上一主題 下一主題

[提問] zj a007 程式執行問題

  [複製鏈接]
  • TA的每日心情
    開心
    2014-8-14 16:02
  • 簽到天數: 1 天

    [LV.1]初來乍到

    12

    主題

    138

    帖子

    863

    積分

    高級會員

    Rank: 4

    積分
    863

    台南一中資訊社新手達陣

    11#
    發表於 2014-8-26 22:01:50 | 只看該作者
    這題直接做也可以AC吧
    [C++] 純文本查看 復制代碼
    #include <stdio.h>
    int p[7000];
    int pn=0;
    void init()
    {
    	p[pn++]=2;
    	p[pn++]=3;
    	for(int i=5;i<=65536;i+=2)
    	{
    		bool tf=true;
    		for(int j=0;j<pn&&p[j]*p[j]<=i;j++)
    		{
    			if(i%p[j]==0)
    			{
    				tf=false;
    				break;
    			}
    		}
    		if(tf)p[pn++]=i;
    	}
    }
    int main()
    {
    	init();
    	int N;
    	while(~scanf("%d",&N))
    	{
    		for(int i=0;i<pn&&p[i]*p[i]<=N;i++)
    		{
    			if(N%p[i]==0)
    			{
    				printf("非質數\n");
    				goto end;
    			}
    		}
    		printf("質數\n");
    		end:;
    	}
    	return 0;
    }
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2014-9-28 12:10
  • 簽到天數: 21 天

    [LV.4]偶爾看看III

    34

    主題

    181

    帖子

    776

    積分

    高級會員

    Rank: 4

    積分
    776

    程式設計達人 - 2014新手達陣

    12#
     樓主| 發表於 2014-8-27 12:57:34 | 只看該作者
    我是用這樣
    [C++] 純文本查看 復制代碼
    #include<iostream>
    using namespace std;
    int main()
    {
    	bool IsPrime[1000001];
        IsPrime[0] = 0;
        IsPrime[1] = 0;
        for(int m=2;m<1000001;m++)
            IsPrime[m] = 1;
            
        for(int m=4;m<1000001;m+=2)
            IsPrime[m] = 0;
        for(int m=3;m<1000001;m+=2)
        {
            if(IsPrime[m])
                for(int n=m*2;n<1000001;n+=m)
                    IsPrime[n] = 0;
        }
        
        int a,ans;
        while(cin>>a)
        {
            if(IsPrime[a] == 1)
            {
            	cout<<"質數"<<endl; 
            }
            else
            {
            	cout<<"非質數"<<endl;
            }
        }
    	return 0;
    }
    

    點評

    這題範圍不是到2^31-1嗎  發表於 2014-8-27 13:25
    林宇翔
    回復 支持 反對

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表