计算C ++中数组中的素数
给我们一个数字数组。目的是找到该数组中素数的计数。
质数是可以被1和数字本身整除的数。它只有两个因素。我们将检查从第一个元素到最后一个元素是否为质数,并增加迄今发现的质数。
要检查数字N是否为质数,请检查[2到N / 2]范围之间的数字是否将N整除。如果是,则它不是质数。否则,它是首要的。
让我们通过示例来理解。
输入− arr [] = {1,2,3,4,5,6,7,8,9}
输出-质数计数-4
说明-这里2,3,5,7是素数,而1,4,6,8,9是非素数。
输入− arr [] = {11,12,4,61,23}
输出-质数计数-3
说明-这里11,61,23是素数,而12,4是非素数。
以下程序中使用的方法如下
我们采用一个包含随机数的整数数组arr []。
函数checkPrime(int num)检查所传递的数字num是否为质数。如果为质数,则返回1,否则返回0。
如果num <= 1,则为非素数,返回0。
现在从2开始到num / 2,如果任何数字将num(num%i == 0)完全除,则num为非素数,返回0。
否则返回1。
变量isprime指示数字是否为质数(1表示质数)
变量计数将素数存储在arr []中
在主遍历整个数组内部,并将每个元素arr [i]传递给checkPrime(arr [i]),如果结果为1(isprime == 1),则递增计数。
最后一个数是arr []中的素数
示例
#include <bits/stdc++.h>using namespace std;
//查找数字是否为质数的函数
int checkPrime(int num){
if (num <= 1)
{ return 0; }
//检查2到一半的arr [i]
for (int j = 2; j <= num/2; j++){
if (num % j == 0){
return 0;
}
return 1;
}
}
int main(){
int arr[] = { 1,3,5,4,8,13,11 };
int n = 7;
int count=0;
int isprime=0;
for(int i=0;i<n;i++){
isprime=checkPrime(arr[i]);
if(isprime==1)
count++;
}
cout<<"Count of number of primes in array : "<<count;
return 0;
}
输出结果
如果我们运行上面的代码,它将生成以下输出-
Count of number of primes in array : 4
以上是 计算C ++中数组中的素数 的全部内容, 来源链接: utcz.com/z/345318.html