详见及参考:
https://www.nowcoder.com/practice/b8bb5e7703da4a83ac7754c0f3d45a82?tpId=225&tags=&title=&difficulty=0&judgeStatus=0&rp=0

质数只能被1及其本身整除的正整数。例如2是质数:2÷1=2,2÷2=1,即2被1整除是2,2被其本身整除是1。2只能被1及其本身整除,因此它是质数。

判断一个数n是不是质数,

  • 1.首先,任何正整数都能被1及其本身n整除,因此将循环范围定在2n-1之间。
  • 2.再进一步思考,如果nnn能被一个大于n\sqrt{n}n​的数整除,
    我们不妨设这个大于n\sqrt{n}n​的数为ttt,则nnn也一定能被n/tn/tn/t整除,而n/tn/tn/t是小于n\sqrt{n}n​的,所以只需验证输入的数字nnn能否被222 到n\sqrt{n}n​之间的任何数整除。
    举个例子:
    例如n=21n=21n=21,212121能被一个大于21\sqrt{21}21​的777即49\sqrt{49}49​整除(21÷7=321÷7=321÷7=3),则反过来212121也能被小于21\sqrt{21}21​的3即9\sqrt{9}9​整除。
    因此我们只需要验证输入的数字212121能否被222到$\sqrt{21} $之间的任何数整除即可。
#include <iostream>
using namespace std;bool isPrime(int x){for(int i=2; i*i<=x; i++){if (x % i == 0)return false;}return true;
}int main() {int num;cin >> num;if (isPrime(num)){cout << "是质数" <<endl;}elsecout << "不是质数" <<endl;return 0;
}
#include <iostream>
using namespace std;int main() {int num;cin >> num;bool flag = true; // 必须先初始化flag。若直接bool flag;会报错。for (int i=2; i*i<=num; i++){ //遍历到根号num就可以了if (num % i == 0) { //可以整除,说明num不是质数flag = false;break;}}if (flag)cout << "是质数" <<endl;elsecout << "不是质数" <<endl;return 0;
}

C++判断一个数是不是质数相关推荐

  1. 微软的判断一个数是不是质数的算法

    质数大家都知道概念,质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数.我们最能想到的是进行循环 的除法,下面是微软提供的质数算法. //判断一个数是不是质数 public static ...

  2. 1,判断一个数是不是质数。 2,选取出100以上、1000以内所有个位数字与十位数字之和被10除所得余数恰好是百位数字的素数(如293).输出上述这些素数的个数及这些素数的和.

    对于大于 1 的数,如果除了 1 和它本身,它不能再被其它正整数整除,那么我们说它是一个质数.晓萌想判断一个数是不是质数,希望找你写个程序,帮助她进行判断. 输入格式 输入包括一行,为一个整数 N(1 ...

  3. 判断 一个数 是不是 质数 / 素数

    判断 一个数 是不是 质数 / 素数 [面试必备 100题 系列 ]- 001 - 判断 一个数 是不是 质数 / 素数 一.命题分析: 质数 又称 素数.指整数在一个大于1的 自然数 中,除了1和此 ...

  4. 判断一个数是质数还是合数

    判断一个数是质数还是合数有两种方法 1.用bool函数 #include<bits/stdc++.h> using namespace std; bool is_prime(int n){ ...

  5. 判断一个数为质数或合数

    标题 判断一个数为质数或合数 bool isnum(long long n) {long long j;//若一个数为合数,那么至少可以写成n=j*j;或者为两个自然数,一个大于sqrt(n),一个小 ...

  6. c语言判断一个数是不是质数的n次方,c语言实践 判断一个数是不是素数

    int main() { int input = 0; scanf_s("%d",&input); if (input < 2) { printf("wro ...

  7. JavaScript判断一个数是不是质数

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  8. Python 判断一个数是不是质数

    一般我们会这样写 # 判断是不是质数 def isZhi(a):for i in range(2, a):if a % i == 0:return False;else:continue;return ...

  9. 《c语言入门题目19》判断一个数是不是质数(素数)

     前言:(内容仅供分享和参考): 什么是质数: 质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数(规定1既不是质数也不是合数).=========== ...

最新文章

  1. android短信发送乱码,解决CEMAPI发送中文短信时会乱码
  2. android ota 版本校验,OTA升级签名校验简析
  3. qt ui框架_5个开源Python GUI框架
  4. VTK:可视化之Glyph3DMapper
  5. mysql 过程 的函数的区别是什么意思_Mysql中存储过程和函数的区别是什么
  6. oracle数据同步异常,案例:DataGuard同步异常问题处理记录
  7. 01Pandas_数据结构
  8. Virtual Studio 2013 每次加载程序(dll)缓慢的问题
  9. Frameset导致Cookies和Session丢失的原因及解决办法
  10. UE4 Light Functions(光源函数)
  11. (61)UART外设驱动接收驱动(六)(第13天)
  12. 计算机排名考研,计算机考研学校排名
  13. matplotlib.pyplot 中文乱码问题解决
  14. boost::filesystem::directory_iterator() 出现段错误 Sementation fault
  15. 你这个视频背景太假了?
  16. 大写1234(大写123456汉字)
  17. linux ansys172 卸载,基于ANSYS 经典界面的密封垫片的加载-卸载仿真
  18. physx中ray不碰撞某些物体的方法
  19. Ingest Node Pipeline Processor
  20. [ROS] sh脚本文件,source : not found问题

热门文章

  1. 如何入门“动物杂交:新视野”
  2. Fiddler 抓包工具“测试人员”高频使用方法
  3. Pcap4J抓包基本使用方法
  4. smartq ten3 android4,SmartDevices智器SmartQ Ten3平板电脑Android 4.1固件
  5. 【JavaWeb - 网页编程】一 HTML技术与CSS技术
  6. MATLAB中simulink的SIL测试
  7. CDeC-Net代码实现
  8. 【個人用】飲み会店情報
  9. TCP协议和UDP协议的区别及其应用
  10. android 语言对应