【HPU】[1729]素数小问题

来源:互联网 发布:休闲鞋推荐 知乎 编辑:程序博客网 时间:2024/06/06 14:14

这里写图片描述

让萌萌哒小苏贺纠结了好久的一题
不过没那么复杂的
直接进行计算后判断是否为素数就好了

#include<stdio.h>#include<math.h>//int a[1005200]= {1,1};//bool b[2000200];bool su(int m) {    if(m<2)        return false;    int i;    int k=(int)sqrt(m);    for(i=2; i<=k; i++) {        if(m%i==0)            break;    }    if(i>k)        return true;    else        return false;}int main() {//  for(int i=2; i<1010; i++) {//      if(!a[i]) {//          for(int j=i+i; j<1005200; j+=i) {//              a[j]=1;//          }//      }//  }//  for(int i=-1000100; i<1000100; i++) {//      if(i%2!=0)//          b[i]=false;//      else {//          int m;//          if(i<0)//              m=-i-(i/2);//          else//              m=i-(i/2);//          if(!a[m])//              b[i]=true;//      }//  }    int n,m;    while(scanf("%d %d",&n,&m)!=EOF) {        int i;        for(i=m; i>=n; i--) {            int t;            if(i<0) {                t=-(i+i/2);            } else {                t=i-i/2;            }            if(su(t)) {                break;            }        }        if(i>=n)            printf("%d\n",i);        else            printf("-1\n");    }    return 0;}

题目地址:【HPU】[1729]素数小问题

0 0