返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++如何判断一个数是不是素数
  • 634
分享到

C++如何判断一个数是不是素数

2024-04-02 19:04:59 634人浏览 安东尼
摘要

目录如何判断一个数是不是素数思路实现代码快速判断一个数是不是素数(质数)朴素的方法下面介绍一个更快的方法如何判断一个数是不是素数 题目:判断一个数是不是素数,1 < N <

如何判断一个数是不是素数

题目:判断一个数是不是素数,1 < N <= 50000

思路

判断n是否整除(求余是否等于0)大于1而小于sqrt(n)中的任何一个数,如果有则不是素数,否则是素数

实现代码

//  判断一个数是不是素数,1 < N <= 50000 
#include <iOStream> 
#include <cmath> 
using namespace std; 
 
// 如果为真,即是素数;否则,不是素数
bool isPrime(int n) { 
    int i; 
    for(i = 2; i <= sqrt(n); i++) { 
        if((n % i) == 0) // 如果能被除了1和它本身的数整除,就不是素数 
            return false; 
    } 
    return true; // 是素数 
} 
 
int main(int arGC, const char * argv[]) { 
    int n; 
    bool isFlag;    
 
    while(cin >> n) { 
        isFlag = isPrime(n); // 调用判断是否是素数的函数 
        if(isFlag) 
            cout << n << "是素数" << endl; 
        else 
            cout << n << "不是素数" << endl; 
    } 
    return 0; 
}

快速判断一个数是不是素数(质数)

朴素的方法

判断从2到sqrt(n)是否有数可以与其整除。

下面介绍一个更快的方法

质数有一个分布规律——大于等于5的质数一定和6的倍数相邻。栗子:5和7,11和13。

由此进行剪枝,达到优化的效果。

Code

#include<iostream>
#include<cmath>
using namespace std;
int prime(int num)   //判断素数 
{
	if (num == 1)
		return 0;
	if (num == 2 || num == 3)
		return 1;
	if (num % 6 != 1 && num % 6 != 5)
		return 0;
	int tmp = sqrt(num);
	for (int i = 5; i <= tmp; i += 6)
		if (num % i == 0 || num % (i + 2) == 0)
			return 0;
	return 1;
}
int main()
{
	int n;
	cin >> n;
	if (prime(n)) cout << "这个数是素数" << endl;
	else cout << "这个数不是素数" << endl;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C++如何判断一个数是不是素数

本文链接: https://lsjlt.com/news/165189.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++如何判断一个数是不是素数
    目录如何判断一个数是不是素数思路实现代码快速判断一个数是不是素数(质数)朴素的方法下面介绍一个更快的方法如何判断一个数是不是素数 题目:判断一个数是不是素数,1 < N <...
    99+
    2024-04-02
  • java如何判断一个数是否是素数(质数)
    目录java判断一个数是否是素数(质数)质数(prime number)又称素数,有无限个思路java 求1-100之间的质数质数定义:1、质数实例一2、质数实例二3、质数实例三4、...
    99+
    2024-04-02
  • php如何判断一个数是不是偶数
    今天小编给大家分享一下php如何判断一个数是不是偶数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在php中,可以利用取余运...
    99+
    2023-06-30
  • php如何判断一个数是不是整数
    今天小编给大家分享一下php如何判断一个数是不是整数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。两种方法:1、用floor...
    99+
    2023-06-30
  • java如何判断一个数是不是整数
    在Java中,可以使用%运算符来判断一个数是不是整数。如果一个数可以被1整除,那么它就是一个整数。以下是一个使用%运算符判断一个数是...
    99+
    2023-08-23
    java
  • php如何判断是不是素数
    小编给大家分享一下php如何判断是不是素数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开...
    99+
    2023-06-14
  • java中如何判断一个数是否是素数(质数)
    首先要明白什么素数(质数),质数的定义:对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。判断一个数是否为质数(素数)方法:如果是偶数,直接返回;然后从3开始,步长为2,一直到n的算术平方根为止,都除不尽...
    99+
    2017-03-25
    java基础 java 判断 素数 质数
  • 判断一个数是否是素数(Java版)
    目录 素数的定义 求解素数 素数判定法1: 遍历从2到n-1的所有数字,判断是否有可以被n整除的数,如果没有,则为素数。 优化法2: 判定的范围改为[2 -,n/2]。当 i>n/2 时,则判定为素数。 优化法3: 在Java中判定素数的范...
    99+
    2023-10-07
    java 开发语言 算法 idea
  • python中如何判断一个数是不是整数
    python中判断一个数是不是整数的方法:1、在win操作系统中找到python程序目录;2、打开idle工具;3、在idle中新建一个shell脚本;4、通过“type(对象)”函数指令判断指定对象是不是整数即可。具体操作方法:在win系...
    99+
    2024-04-02
  • php如何判断一个数是不是正整数
    这篇“php如何判断一个数是不是正整数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何判断一个数是不是正整数”文章吧...
    99+
    2023-07-05
  • php怎么判断一个数是不是偶数
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php判断一个数是不是偶数在php中,想要判断一个数是不是偶数,只需要判断该数是否能被2整除。换句话说,就是除以2的余数,余数为0的数。在利用取余运算符“%”和相等运算...
    99+
    2018-09-23
    php 偶数 % == 运算符
  • php怎么判断一个数是不是整数
    两种方法:1、用floor()进行取整,再和原数比较,语法“floor($n)===$n”,如果相等则是整数,反之则不是整数。2、用is_int()进行检测,语法“is_int($n)”,如果返回TRUE则是整数,返回FALSE则不是整数。...
    99+
    2022-06-14
    php php数组
  • jquery如何判断是否是一个数组
    这篇文章主要介绍了jquery如何判断是否是一个数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jquery如何判断是否是一个数组文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • Python怎么判断数字是不是素数
    这篇文章主要讲解了“Python怎么判断数字是不是素数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么判断数字是不是素数”吧!质数(素数)判断:from math&n...
    99+
    2023-06-03
  • c语言如何判断一个数是否在数组中
    在C语言中,可以使用循环结构和条件判断语句来判断一个数是否在数组中。具体步骤如下:1. 声明一个数组,并给数组赋值。2. 声明一个变...
    99+
    2023-10-10
    c语言
  • jquery如何判断一个元素是否是另一个元素的子元素
    今天小编给大家分享一下jquery如何判断一个元素是否是另一个元素的子元素的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。两种...
    99+
    2023-07-04
  • JS如何判断一个数是否是水仙花数
    这篇文章主要介绍JS如何判断一个数是否是水仙花数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身...
    99+
    2024-04-02
  • c语言怎么判断一个数是整数
    判断一个数在 c 语言中是否为整数:使用 fmod() 函数计算该数除以 1 的余数。如果余数为 0,则该数是整数;否则,该数不是整数。 如何判断一个数在 C 语言中是否为整数 在 C...
    99+
    2024-05-14
    c语言
  • java如何判断是不是数字
    java中判断是否是数字的方法:用正则表达式 public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*");...
    99+
    2018-12-17
    java
  • es6如何判断是不是数字
    这篇文章主要介绍“es6如何判断是不是数字”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6如何判断是不是数字”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作