• [解题报告]HDU 2012 素数判定


    素数判定

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 53711    Accepted Submission(s): 18366


    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
     
    Author
    lcy
     
    Source
     
    Recommend
    JGShining
     

    首先写一个判定素数的模块,再做起来就方便多了

    #include<stdio.h>
    #include<math.h>
    int fun(int n,int flag)
    {
      int t,m;
      m=(int)sqrt(n);
      for(t=2;t<=m;t++)
       if(n%t==0)
       flag=0;
      return flag;
    }
    int main()
    {
        long x,y,sum,flag,i;
        while(scanf("%ld%ld",&x,&y)!=EOF)
        {
          if(x==0&&y==0)
          break;
          flag=1;
          for(i=x;i<=y;i++)
          {
            sum=i*i+i+41;
            flag=fun(sum,flag);
            if(flag==0)
            break;
          }
          if(flag==1)
          printf("OK\n");
          else
          printf("Sorry\n");
        }
    }
  • 相关阅读:
    Jira 8.5.1 安装教程
    Postgres 10.11安装教程
    SonarQube 7.7 安装教程
    Apollo基于K8S的部署以及接入
    Nexus 安装教程
    Drone 安装教程
    Harbor 安装教程
    Gitlab 11.9.1 高可用教程
    Gitlab 11.9.1 安装教程
    大明的FAQ
  • 原文地址:https://www.cnblogs.com/TheLaughingMan/p/3050505.html
Copyright © 2020-2023  润新知