美文网首页
ACM——素数判定

ACM——素数判定

作者: 香儿1025 | 来源:发表于2018-02-01 18:01 被阅读0次

知识点:

素数

(原理)所谓素数即只能被1和本身整除的数,那么毫无疑问,对于一个数n是不是素数,我们可以直接进行判断,即从2~n-1一一进行枚举,如果n都不能被整除,那么说明n就是素数。如果直接暴力判断,需要注意两点:

1、n不能太大

2、只需判断n的根号次

在此我们为了避免运行时间超出限制采用简便方法,将循环结束标记定为sqrt(n).

(例题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2012

题目分析:首先接收x,y范围,依次将范围内的算式结果遍历出来拿来判断。若是某一次判断为是素数则跳出该次循环输出Sorry,否则YES。

 题解代码:

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main()

{

    int res=0,x=0,y=0,i=0,j=0;

   while(scanf("%d%d",&x,&y)){

        if(x==0&&y==0){

            return 0;

        }

        for(i=x;i<=y;i++){

            res=i*i+i+41;

            for(j=2;j<=sqrt(res);j++,j++){

                if(res%j==0){

                printf("Sorry\n");

                    break;

                }

            }

            if(j<=sqrt(res)){

                break;

            }

        }

        if(i>y){

            printf("OK\n");

        }

    }

    return 0;

}

相关文章

  • ACM——素数判定

    知识点: 素数 (原理)所谓素数即只能被1和本身整除的数,那么毫无疑问,对于一个数n是不是素数,我们可以直接进行判...

  • A(素数判定)

    对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x

  • 素数相关问题练习 C++

    辗转相除 素数判定 埃氏筛法

  • 1430 素数判定

    题目描述 Description 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整...

  • 【python】素数判定?

    题目:素数判定,给定一个正整数n,请返回1~n中所有的素质。 分析:数理定理:如果一个数不是素数,那么它可以分解成...

  • Python-函数命名

    今天先是联系了对回文数判定程序的编写,后是把前面素数判定添加进去,形成了判定一个数既是回文数又是素数的程序: 自己...

  • 素数筛法——1. 素数判定

    素数判定问题 题目描述 给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。 输入描述: 测试数据有多组...

  • (ACM)美素数(打表)

    一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“美素数”,如29,本身是素数,而且2+9 = 11...

  • 杭电ACM-2138 (求素数 求素数!!!)

    题目: (●ˇ∀ˇ●)嘿嘿 看到这道题马上想到了打表,结果是懵逼的 打表代码(误): OJ的显示是:Runtime...

  • 世界数学名题欣赏丛书1 素数判定与大数分解 孙琦,旷京华.pdf

    下载地址:世界数学名题欣赏丛书1 素数判定与大数分解 孙琦,旷京华[www.rejoiceblog.com].pdf

网友评论

      本文标题:ACM——素数判定

      本文链接:https://www.haomeiwen.com/subject/mpfjzxtx.html