1 条题解

  • 1
    @ 2025-1-10 17:01:31

    素数判断

    一天,尼克给了格莱尔几个数字,要求他判断是否是素数。现在,请你试编一程序,输入一个自然数,判断是不是素数。说明:如果一个大于 1 的自然数的因数只有两个(1 和它本身),那么这个数就是素数,否则就是合数。特别的,1 既不是素数也不是合数。 这道题让我们判断素数,素数其实就是质数,质数的概念是大于一的整数,只能被1和本身整除。

    判断质数有一个基本代码:

    int n,j=1;
    cin>>n;
    for(int i=2;i*i<=n;i++){
      if(n%i==0){
        j=0;
      }
    }
    

    最后通过j就能判断n是不是质数了。

    #include<iostream>
    using namespace std;
    int main(){
        int n;
        cin>>n;
        if(n==1||n==0){
            cout<<"N";
            return 0;
        }
        for(int i=2;i<=n-1;i++){
            if(n%i==0){
                cout<<"N";
                return 0;
            }
        }
        cout<<"Y";
    }
    

    1和0都既不属于质数也不属于合数,所以刚开始就要判断是不是0或1。 这段程序也运用了我上面写的基本程序。同学们在做判断素数这类题目时也可以用。

    • 1

    信息

    ID
    77
    时间
    1000ms
    内存
    64MiB
    难度
    8
    标签
    递交数
    60
    已通过
    10
    上传者