计数数字,可以表示为C ++中相同奇偶素数的总和

给我们一个大小为N的正整数的Arr []数组。目标是计算该数组中可以表示为奇偶素数之和的元素的数量,即可以将它们表示为相同质数的和。数。例如 4 = 2 + 2、6 = 3 + 3或2 + 2 + 2

任何两个奇数或偶数素数之和将始终为偶数。除0和2外,所有偶数都可以表示为相同质数的和。

让我们通过示例来理解。

输入项 

Arr[] = { 2, 5, 10, 15, 20, 25 }

输出结果 

Number which satisfy condition : 3

说明 

Numbers as sum of same primes:
Arr[0] = 2 X count=0
Arr[1] = 5 : X count=0
Arr[2] = 10 :5+5 count=1
Arr[3] = 15 : X count=1
Arr[4] = 20 : 5+5+5+5 count=2
Arr[5] = 25 : X count=2

输入项 

Arr[] = { 0, 2, 4, 11, 13}

输出结果 

Number which satisfy condition : 1

说明 

Numbers as sum of same primes:
Arr[0] = 0 : X count=0
Arr[1] = 2 : X count=0
Arr[2] = 4 : 2+2 count=1
Arr[3] = 11 : X count=1
Arr[4] = 13 : X count=1

以下程序中使用的方法如下

  • 我们采用长度为N的正整数数组。

  • 函数sumofparityPrimes(int arr [],int n)将数组和n作为输入,并返回可以表示为奇偶素数之和的元素数。

  • 对于此类数字,将初始变量计数设为0。

  • 使用for循环遍历数组。

  • 对于每个元素,如果是偶数(arr [i]%2 == 0)。

  • 然后检查它既不是0也不是2。

  • 在for循环结束时返回计数结果。

示例

#include <bits/stdc++.h>
using namespace std;
int sumofparityPrimes(int arr[],int n){
   int count = 0;
   for(int i=0;i<n;i++){
      if(arr[i]%2==0) //num is even only{
         if(arr[i]!=0){
            if(arr[i]!=2)
               { count++; } //neither 0 nor 2
         }
      }
   }
   return count;
}
int main(){
   int Arr[]={ 12, 5 , 15, 8, 100, 40 };
   int Length= sizeof(Arr)/sizeof(Arr[0]);
   cout <<endl<< "Number which satisfy condition : "<<sumofparityPrimes(Arr,Length);
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Number which satisfy condition : 4