• HDOJ2012 素数判定


    素数判定

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    Total Submission(s) : 12   Accepted Submission(s) : 7
    Problem Description
    对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数。
     
    Input
    输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。
     
    Output
    对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。
     
    Sample Input
    0 1
    0 0
     
    Sample Output
    OK
    /* 功能Function Description:	 HDOJ-2012 素数判定---筛选法判断素数
       开发环境Environment:          DEV C++ 4.9.9.1
       技术特点Technique:
       版本Version:
       作者Author:					 可笑痴狂
       日期Date:                     20120724
       备注Notes:
    */
    #include<stdio.h>
    #include<string.h>
    int table[3000];
    
    void prime()//打素数表
    {
    	int i,j;
    	memset(table,0,sizeof(table));
    	table[0]=table[1]=1;
    	/*
        for(i=2;i<3000;i++)
        {
            if(!table[i])
            {
                for(j=2;j*i<3000;j++)
                    table[j*i]=1;
            }
        }
    	*/
        for(i=2;i<55;i++)
        {
    		for(j=i*i;j<3000;j+=i)
    			table[j]=1;
        }
    }
    
    int main()
    {
    	int a,b,i,flag;
    	prime();  //别忘了调用
    	while(scanf("%d%d",&a,&b)&&(a||b))
    	{
    		flag=1;
    		if(a>b)
    		{
    			a^=b;
    			b^=a;
    			a^=b;
    		}
    		for(i=a;i<=b;++i)
    		{
    			if(table[i*i+41+i])
    			{
    				flag=0;
    				printf("Sorry\n");
    				break;
    			}
    		}
    		if(flag)
    			printf("OK\n");
    	}
    	return 0;
    }
    
    功不成,身已退
  • 相关阅读:
    linux下的内存映射函数mmap详解及示例代码
    Android平台上使用属性系统(property system)
    Android筆記
    Android Prelink
    DataGridView BindingSource BindNavigator
    可排序的ListView
    开源2D绘图组件ZedGraph
    BackgroundWorker示例
    级联datagridview 利用datarelation和bindingsource
    继承DataGridView
  • 原文地址:https://www.cnblogs.com/dongsheng/p/2607105.html
Copyright © 2020-2023  润新知