hdoj2012水题

一道水题,三四次才A掉,宝宝心累

#include <stdio.h>

#include <math.h>
#include<string.h>
#define N 100000
int prime[N] ;
int elem[N] ;
int elem_num;
int jisuan(int n)
{
    return n*n+n+41;
}
int main(){
    int t,n,num,cnt,i,flag,ct,a,b,j;
    memset(prime,0,sizeof(prime));
    for (i=2;i<=N;i++)
    {
        for (j=2;i*j<N;j++)
        {
            prime[i*j]=1;
        }

    }
    while(scanf("%d%d",&a,&b),a+b)
    {
        if(a>b)
        {
            int temp=a;a=b;b=temp;//想哭,老是忘记这里的交换。万一他前面的比后面的大呢?
        }
        bool flag=true;
        for(int i=a;i<=b;i++)
        {
            j=jisuan(i);//之前是i=jisuan(i)WA哭
            if(prime[j])flag=false;
            //printf("%d=%d ",j,prime[j]);
        }
        if(flag)printf("OK ");
        else printf("Sorry ");
    }

}

原文地址:https://www.cnblogs.com/wlxtuacm/p/5712293.html