C++实现素数的求法
2017-05-03 01:06
274 查看
素数定义:
简单来说,素数就是正能被1和它自身整除的数。例如2,3,5,7等都是素数
代码实现:
(1)最简单的一种方法判断一个数是不是素数n,就是用2—(n-1)去分别除这个数,如果有一个能被整除,则该数不是素数,否则该数是素数。
(2)优化:不用去判断2—(n-1),只需要判断2—n/2或者2—n开平方即可
简单来说,素数就是正能被1和它自身整除的数。例如2,3,5,7等都是素数
代码实现:
(1)最简单的一种方法判断一个数是不是素数n,就是用2—(n-1)去分别除这个数,如果有一个能被整除,则该数不是素数,否则该数是素数。
(2)优化:不用去判断2—(n-1),只需要判断2—n/2或者2—n开平方即可
#include<iostream> using namespace std; #include<cmath> bool IsPrime(int num) //num为我们要判断的数 { //for (int i = 2; i < num - 1; i++) //最传统的方式 //for (int i = 2; i < num/2; i++) //只判断一半的方式 for (int i = 2; i < sqrt(num); i++) //最优化的判断方式 { if (num%i == 0) { return false; } } return true; } int main() { int num = 0; cout<<"请输入你要判断的数:"; cin >> num; if (IsPrime(num)) { cout << num << "是素数" << endl; } else { cout << num << "不是素数" << endl; } system("pause"); return 0; }
相关文章推荐
- C++实现爱拉托斯散筛法寻找素数
- 【Coding】用筛法求素数的C++实现(附100000以内素数表)
- 素数判断算法 - 拉宾-米勒测试定理(c++实现)
- 【Coding】用筛法求素数的C++实现(附100000以内素数表)
- 打印100以内的素数(质数)----C++实现、python实现
- C++实现Miller-Rabin素数测试
- 检测随机数是否为一个素数的C/C++实现
- 获取小于N的素数 优化筛选法的C++实现
- C++ 实现求小于n的最大素数的实例
- 打印1-100之间的素数 C++实现
- Prime Palindromes( 素数回文) C++实现
- 素数回文——输出两整数之间所有既是回文数又是素数的数 C++实现
- C++程序设计实践指导1.8求指定范围内的所有素数改写要求实现
- C/C++编程小练习 计算10亿之内的素数和(合数筛选算法实现)
- 用 C++ 实现 C# 中的 委托/事件 (4-functor1)
- 在C++中实现“属性 (Property)”
- C++机理:虚拟机制的实现[兼谈对比于传统机制]
- 用C++ std::priority_queue 实现哈夫曼算法
- 用C++实现C#中的委托/事件(标准C++之升级版)
- 再探C++的单件实现