赞
踩
详见及参考:
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
是不是质数,
n
整除,因此将循环范围定在2
到 n-1
之间。#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; } else cout << "不是质数" <<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; else cout << "不是质数" <<endl; return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。