• [解题报告]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");
        }
    }
  • 相关阅读:
    maven下载源配置
    nvm及node下载源配置
    SourceInsight 添加Symbol Lookup路径
    8.31-使用vscode进行c/c++程序设计
    10.08-vscode-plantuml建模
    6.26-vscode 配置文件
    3.5-VSCode 学习
    3.6-WizNote 常用快捷键
    10.04-CTEST-GTest
    180325-log4cplus
  • 原文地址:https://www.cnblogs.com/TheLaughingMan/p/3050505.html
Copyright © 2020-2023  润新知