Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm số có thể được biểu diễn dưới dạng tổng của các số nguyên tố chẵn lẻ giống nhau trong C ++

Chúng ta được cung cấp một mảng Arr [] gồm các số nguyên dương có kích thước N. con số. Bán tại; 4 =2 + 2, 6 =3 + 3 hoặc 2 + 2 + 2

Tổng của bất kỳ hai số nguyên tố lẻ hoặc chẵn sẽ luôn luôn là số chẵn. Và ngoại trừ 0 và 2, tất cả các số chẵn có thể được biểu diễn dưới dạng tổng của các số nguyên tố giống nhau.

Hãy cùng hiểu với các ví dụ.

Đầu vào

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

Đầu ra

Number which satisfy condition : 3

Giải thích

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

Đầu vào

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

Đầu ra

Number which satisfy condition : 1

Giải thích

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

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Chúng ta lấy một mảng các số nguyên dương có độ dài N..

  • Hàm sumofparityPrimes (int arr [], int n) nhận mảng và n làm đầu vào và trả về số phần tử có thể được biểu diễn dưới dạng tổng các số nguyên tố chẵn lẻ.

  • Lấy số lượng biến ban đầu là 0 cho những số như vậy ..

  • Traverse mảng sử dụng vòng lặp for.

  • Đối với mỗi phần tử nếu nó là chẵn (arr [i]% 2 ==0).

  • Sau đó, kiểm tra xem nó không phải là 0 hay 2. Nếu số gia tăng là true.

  • Trả về số lượng là kết quả ở cuối vòng lặp for.

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Number which satisfy condition : 4