21xrx.com
2024-12-22 21:59:38 Sunday
登录
文章检索 我的文章 写文章
C++中的子函数如何查找数组中的素数?
2023-07-03 12:04:24 深夜i     --     --
C++ 子函数 数组 素数 查找

C++中的子函数是一种被调用的程序,它可以帮助我们完成一些特定的任务。其中一个常见的任务就是在数组中查找素数。素数是一种只能被1和它本身整除的数,它们在数学和计算机科学中都有着重要的应用。

下面介绍一下在C++中如何使用子函数来查找数组中的素数。

1. 编写子函数

为了实现查找数组中素数的功能,我们需要编写一个子函数。这个子函数的作用就是判断一个数字是否为素数。下面是这个子函数的代码:


bool isPrime(int num) {

  if(num <= 1)

    return false;

  

  for(int i = 2; i < num; i++) {

    if(num % i == 0)

      return false;

    

  }

  return true;

}

这个子函数接受一个整数作为参数,然后通过判断这个整数是否为素数来返回一个bool值。

2. 遍历数组

接下来,我们需要在主函数中遍历数组,并将其中的素数存入另一个数组中。下面是这部分代码:


int main() {

  int arr[] = 6;

  int prime[10];

  int j = 0;

  for(int i = 0; i < 10; i++) {

    if(isPrime(arr[i])) {

      prime[j] = arr[i];

      j++;

    }

  }

  return 0;

}

这部分代码中,我们定义了一个大小为10的数组arr,并将它的值初始化为1到10的数字。接着,我们定义了另一个大小为10的数组prime,用于存储素数。我们使用一个for循环来遍历数组arr中的数字,对于每一个数字,我们调用isPrime函数来判断它是否为素数。如果是素数,则将它存储到prime数组中,并将下标j加一。

3. 输出结果

最后,我们需要将找到的素数输出。下面是这部分代码:


for(int i = 0; i < j; i++) {

  cout << prime[i] << " ";

}

cout << endl;

我们使用一个for循环遍历存储素数的数组prime,并使用cout语句输出结果。

完整代码:


#include <iostream>

using namespace std;

bool isPrime(int num) {

  if(num <= 1)

    return false;

  

  for(int i = 2; i < num; i++) {

    if(num % i == 0)

      return false;

    

  }

  return true;

}

int main() {

  int arr[] = 3;

  int prime[10];

  int j = 0;

  for(int i = 0; i < 10; i++) {

    if(isPrime(arr[i])) {

      prime[j] = arr[i];

      j++;

    }

  }

  for(int i = 0; i < j; i++) {

    cout << prime[i] << " ";

  }

  cout << endl;

  return 0;

}

这就是在C++中使用子函数查找数组中素数的方法。通过定义一个判断素数的子函数,我们可以方便地遍历数组并查找素数,进而用于更加复杂的算法和应用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复