日常作业备份~

#include <stdio.h>
#include <string.h>
#include <mem.h>
bool a[100050], sign=true;
int n;//找出下一个质数 
int find_next_prime(int prime)
{
     while ( prime<=100050 )
     {
          if ( a[prime] ) return prime;
          prime++;
     }
     return 0;
}
int main(void)
{
     memset( a , true , sizeof(a) );
     int i, count=0, prime=2, max, min, repeat,k,j;
     a[1]=false;
     a[0]=false;
     //用筛法得到素数列 
     //但是有的地方就会重复= =不知道怎么解决,比如30
    while ( 1 )
     {
          prime=find_next_prime(prime);
          if ( prime == 0 ) break; 
          for ( i=prime*2 ; i<=100050 ; i+=prime )
          {
            a[i]=false;
          }  
          prime++;
    }
    a[1]=true;
     //得到所有的素数列
     scanf("%d",&repeat);
     for ( j=0 ; j<repeat ; j++ )
     {
         scanf("%d",&k);
         if ( a[k] ) printf("0\n");
         else 
        {
            for ( i=k-1 ; i>1 ; i-- )
            {
                if ( a[i] )
                {
                    min=i;
                    break;
                }
            }
            for ( i=k+1 ; i<100050 ; i++ )
            {
                if ( a[i] )
                {
                    max=i;
                    break;
                }
            }
            printf("%d\n",max-min-1);
         }
     }
     return 0;
}
素数区间
#include <stdio.h>
__int64 a[100050][3];
int n;
//这是要让我们得到最大值和最小值吗= = 
int main(void)
{
    __int64 i, max=1, min=1000000000, signmin, signmax;
    bool sign=true;
    scanf("%d", &n);
    //还得考虑到一种情况发生,那就是区间边界相等的情况 
    for( i=1 ; i<=n ; i++ )
    {
        scanf("%lld%lld", &a[i][1], &a[i][2]);
        if ( a[i][1]<min )
        {
            min=a[i][1];
            signmin=i;
        }
        if ( a[i][2]>max )
        {
            max=a[i][2];
            signmax=i;
        }
    }
    for ( i=1 ; i<=n ; i++ )
    {
        if ( min==a[i][1] && max==a[i][2] )
        {
            printf("%d\n", i );
            sign=false;
            break;
        }
    }
    if ( sign ) printf("-1\n");
    return 0;
}
区间

猜你喜欢

转载自www.cnblogs.com/mokou/p/9617405.html