1057: 素数判定

Posted binanry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1057: 素数判定相关的知识,希望对你有一定的参考价值。

[提交][状态][讨论版][命题人:admin]

题目描述

 输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。 

输入

 输入一个正整数n(n<=1000) 

输出

 如果n是素数输出"Yes",否则输出"No"。输出占一行。 

样例输入

2

样例输出

Yes

提示

 ...

来源

* 

#include<stdio.h>
#include<math.h>
int main()
{
    int i, n, k;
    scanf("%d", &n);
    k = sqrt(n + 1);
    for(i = 2; i <= k; i++)  //寻找n的因数(除1和自身之外的)
        if(n % i == 0) //若找到,则提前结束循环
            break;
    if(i <= k || n == 1) //若找到n的因数,或n为1,说明n不是素数
        printf("No ");
    else
        printf("Yes ");
    return 0;
}

 











以上是关于1057: 素数判定的主要内容,如果未能解决你的问题,请参考以下文章

素数判定Miller_Rabin 算法详解

2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 B. Goldbach-米勒拉宾素数判定(大素数)

题目1047:素数判定

如何高效判定筛选素数

如何高效判定筛选素数

数论——素数