• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

基于C/VC++ 从键盘输入一个正整数n,调用函数判断其是否是素数。编程简单明了,无中文,可直接复制

发布于 2024-06-21 10:15:40

下面是一个C++程序示例,用于判断用户输入的正整数是否为素数:

#include <iostream>
using namespace std;

// 函数声明:判断一个数是否是素数
bool isPrime(int num);

int main() {
    int n;

    // 从键盘输入一个正整数
    cout << "Enter a positive integer: ";
    cin >> n;

    // 调用函数判断其是否是素数
    if (isPrime(n)) {
        cout << n << " is a prime number." << endl;
    } else {
        cout << n << " is not a prime number." << endl;
    }

    return 0;
}

// 函数定义:判断一个数是否是素数
bool isPrime(int num) {
    if (num <= 1) return false; // 小于等于1的数不是素数
    if (num <= 3) return true;  // 2和3是素数

    // 如果num能被2或3整除,则它不是素数
    if (num % 2 == 0 || num % 3 == 0) return false;

    // 检查其他可能的因子
    for (int i = 5; i * i <= num; i += 6) {
        if (num % i == 0 || num % (i + 2) == 0) return false;
    }

    return true; // 没有找到因子,所以是素数
}

这段代码首先包含了<iostream>头文件,然后定义了一个名为isPrime的函数,负责判断一个数是否为素数。在主函数main中,程序提示用户输入一个正整数,并使用cin读取这个数。然后,它调用isPrime函数来判断这个数是否为素数,并根据结果输出相应的信息。

isPrime函数首先检查输入的数是否小于等于1(不是素数),然后检查是否小于等于3(是素数)。接下来,它检查这个数是否能被2或3整除。如果都不是,它会通过一个for循环检查是否有其他因子,直到i * i大于这个数为止。如果在循环中找到了因子,函数将返回false;如果没有找到,函数将返回true

这段代码可以直接复制到C++编译器中进行编译和执行。

0 条评论

发布
问题

在线
客服