C++教程
C++控制语句
C++函数
C++数组
C++指针
C++对象
C++继承
C++多态
C++抽象
C++常用
C++ STL教程
C++迭代器
C++程序

C++ 程序来检查一个数是否为质数

C++ 程序检查一个数是否为质数

使用 for 循环和 if...else 语句检查整数(由用户输入)是否为素数的示例。
要理解此示例,您应该了解以下C++ 编程 主题:
C++ if, if...else 和嵌套 if...else C++ for Loop C++ break 语句 C++ continue 语句
只能被1和它本身整除的正整数称为素数。
例如: 13 是质数,因为它只能被 1 和 13 整除,但 15 不是质数,因为它可以被 1、3、5 和 15 整除。
注意: 0 和 1 不是质数。

示例: 检查质数

#include <iostream>
using namespace std;
int main() {
    int i, n;
    bool isPrime = true;
    cout << "Enter a positive integer: ";
    cin >> n;
    // 0 and 1 are not prime numbers
    if (n == 0 || n == 1) {
        isPrime = false;
    }
    else {
        for (i = 2; i <= n / 2; ++i) {
            if (n % i == 0) {
                isPrime = false;
                break;
            }
        }
    }
    if (isPrime)
        cout << n << " is a prime number";
    else
        cout << n << " is not a prime number";
    return 0;
}
输出
Enter a positive integer: 29
29 is a prime number.
该程序从用户那里获取一个正整数并将其存储在变量 n 中。
注意布尔变量 isPrime在程序开始时被初始化为 true
由于 0 和 1 不是质数,我们首先检查输入的数字是否是这些数字之一。如果输入数字是 0 或 1,则 isPrime 的值设置为 false
否则, isPrime 的初始值保持不变,并执行 for 循环,检查用户输入的数字是否可以被 整除我与否。
for (i = 2; i <= n / 2; ++i) {
    if (n % i == 0) {
        isPrime = false;
        break;
    }
}
for 循环从 i == 2 运行到 i <= n/2 并增加 i <的值 var> 每次迭代增加 1、
循环在 i == n/2 处终止,因为除了 n/2 数字之外,我们找不到 n 的任何因子。因此,任何超出 n/2 的迭代都是多余的。
如果用户输入的数字可以被 i 整除,则 isPrime 设置为 false 并且该数字将不是一个质数。
但是如果在整个循环中输入数字不能被 i 完全整除,那么这意味着输入数字只能被 1 和该数字本身整除。
所以,给定的数是质数。
n == 2 的情况下, for 循环运行失败, isPrime 的值保持 true。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4