王鹿其 发表于 2023-11-13 19:32:51

c++,用using namespace std;

编写出判断一个整数是否为素数的函数,并求出在2000以内的有十个以上的所有连续的非素数组。

isdkz 发表于 2023-11-13 19:33:00

#include <iostream>

bool isPrime(int num) {
    if (num <= 1) {
      return false;
    }
    for (int i = 2; i * i <= num; i++) {
      if (num % i == 0) {
            return false;
      }
    }
    return true;
}

int main() {
    int count = 0;
    for (int i = 2; i < 2000; i++) {
      if (!isPrime(i)) {
            count++;
            if (count >= 10) {
                std::cout << i << " ";
            }
      } else {
            count = 0;
      }
    }
    return 0;
}


这段代码首先定义了一个 isPrime 函数来判断一个整数是否为素数。然后在 main 函数中遍历2000以内的整数,找出连续的非素数并输出。当连续非素数的数量超过10个时,就输出该非素数。

Mike_python小 发表于 2023-11-13 19:35:49


#include <iostream>
#include <vector>

using namespace std;

// 判断一个整数是否为素数
bool isPrime(int num) {
    if (num <= 1) {
      return false;
    }

    for (int i = 2; i * i <= num; i++) {
      if (num % i == 0) {
            return false;
      }
    }

    return true;
}

int main() {
    vector<vector<int>> nonPrimeArrays; // 存储所有连续的非素数数组
    int count = 0; // 连续非素数的个数
    vector<int> currentArray; // 当前的连续非素数数组

    for (int i = 2; i < 2000; i++) {
      if (!isPrime(i)) {
            currentArray.push_back(i);
            count++;
            if (count >= 10) {
                nonPrimeArrays.push_back(currentArray);
            }
      } else {
            count = 0;
            currentArray.clear();
      }
    }

    cout << "2000以内的有十个以上的所有连续的非素数数组:" << endl;
    for (const auto &arr : nonPrimeArrays) {
      for (int num : arr) {
            cout << num << " ";
      }
      cout << endl;
    }

    return 0;
}
页: [1]
查看完整版本: c++,用using namespace std;