判断质数(素数):

输入:输入一个十进制数

输出:若输入的数为质数,则输出YES,否则,输出NO

方案一:在判断一个数是否为质数时,我们只需要检查到这个数的平方根的数是否能整除它。因为如果一个数不是质数,那么它必定有一个因子小于或等于它的平方根。因此我们只需要检查到n的平方根的数是否能整除n,就可以判断n是否为质数。这样可以大大减少需要检查的数的数量,提高程序的效率。

#include <bits/stdc++.h>
using namespace std;
int isprime(int n)//定义一个判断质数的函数
{
    if(n<=1)
        return 0;//0,1都不是质数
    for(int i=2;i*i<=n;i++)//直接从2开始找
    {
        if(n%i==0)
            return 0;
    }
    return 1;
}
int main()
{
    int n;
    cin>>n;
    if(isprime(n))//若isprime(n)的之不为0
        cout<<"YES"<<endl;
    else
        cout<<"NO"<<endl;
    return 0;
}
#include <bits/stdc++.h>//不使用函数的版本
using namespace std;
int main() 
{
    int n,i;
    scanf("%d",&n);
    if(n<=1) 
    {
        printf("NO\n");
        return 0;
    }
    for (i=2;i*i<=n;i++)
    {
        if(n%i==0) 
        {
            printf("NO\n");
            return 0;
        }
    }
    printf("YES\n");
    return 0;
}

方案二:使用了两个循环嵌套。外层循环从 2 到 n 枚举所有可能的因子,内层循环从 2 到当前因子值之前的数,检查是否存在能整除当前因子的数。如果找到了一个能整除当前因子的数,则跳出内层循环,继续枚举下一个因子。如果当前因子是 n 的因子,则将 isPrime 设置为 false,并跳出外层循环。在内层循环中,当枚举到当前因子值减 1 的时候,如果还没有找到能整除当前因子的数,则说明当前因子是素数,也就是 n 的因子。在这种情况下需要将 isPrime 设置为 false,并跳出外层循环。

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    bool isPrime = true;
    if (n < 2) 
    {
        isPrime = false;
    } 
    else 
    {
        for (int i = 2; i < n; i++) 
            {
            for (int j = 2; j < i; j++) 
            {
                if (i % j == 0) 
                {
                    break;
                }
                if (j == i - 1 && n % i == 0) 
                {
                    isPrime = false;
                    break;
                }
            }
            if (!isPrime) 
            {
                break;
            }
        }
    }

    if (isPrime) 
        {
        cout << "YES" << endl;
    } else 
    {
        cout << "NO" << endl;
    }

    return 0;
}

相关推荐

  1. 判断质数素数):

    2024-01-20 15:06:01       48 阅读
  2. 判断素数/质数

    2024-01-20 15:06:01       28 阅读
  3. C 练习实例33 - 质数素数判断

    2024-01-20 15:06:01       58 阅读
  4. 判断素数的方法

    2024-01-20 15:06:01       27 阅读
  5. C语言 判断素数

    2024-01-20 15:06:01       24 阅读
  6. 判断素数的方法大全

    2024-01-20 15:06:01       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-20 15:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-20 15:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-20 15:06:01       82 阅读
  4. Python语言-面向对象

    2024-01-20 15:06:01       91 阅读

热门阅读

  1. 美易官方:Coinbase美股盘前涨超0.7%

    2024-01-20 15:06:01       52 阅读
  2. Spring Boot应用程序如何配置 HTTPS 访问方式

    2024-01-20 15:06:01       50 阅读
  3. 聊一聊工作中事故的复盘几点想法

    2024-01-20 15:06:01       50 阅读
  4. c#键盘事件的使用

    2024-01-20 15:06:01       54 阅读
  5. iptables TEE模块测试小记

    2024-01-20 15:06:01       60 阅读
  6. GoLang刷题之leetcode

    2024-01-20 15:06:01       55 阅读
  7. Vue学习1

    2024-01-20 15:06:01       51 阅读