美文网首页
素数筛法——1. 素数判定

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

作者: 辘轳鹿鹿 | 来源:发表于2020-06-29 11:37 被阅读0次

    素数判定问题

    题目描述

    给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。

    输入描述:

    测试数据有多组,每组输入一个数n。

    输出描述:

    对于每组输入,若是素数则输出yes,否则输入no。

    示例1

    输入

    13

    输出

    yes

    解题心得:

    • 素数:只能被自身和1整除的大于1的正整数。
    • 算法:用所有大于1小于等于sqrt(n)的整数去试着整除该数,若在该区间内存在某个数能整除该数则该数不是素数;若这些数都不能整除它,则该数为素数。时间复杂度(O(sqrt(n)))。
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<math.h>
    
    int main(){
    
       int m;
       while(scanf("%d",&m)!=EOF){
        int i;
        if(m<=1){
            printf("no\n");
            continue;
        }
        for(i=2;i<=sqrt(m);i++){
            if(m%i==0)
                break;
        }
        if(i<=sqrt(m)){
            printf("no\n");
        }
        else{
            printf("yes\n");
        }
    
       }
        return 0;
    
    }
    
    
    

    如果觉得有帮助,就点个赞再走吧^_^

    相关文章

      网友评论

          本文标题:素数筛法——1. 素数判定

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