Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับจำนวนที่สามารถแสดงเป็นผลรวมของพาริตีไพรม์เดียวกันใน C++


เราได้รับอาร์เรย์ Arr[] ของจำนวนเต็มบวกขนาด N เป้าหมายคือการนับจำนวนองค์ประกอบในอาร์เรย์นั้นซึ่งสามารถแสดงเป็นผลรวมของจำนวนเฉพาะของพาริตี นั่นคือสามารถแสดงเป็นผลรวมของจำนวนเฉพาะเดียวกันได้ ตัวเลข. อดีต; 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 สำหรับตัวเลขดังกล่าว..

  • Traverse array ใช้ for วนซ้ำ

  • สำหรับแต่ละองค์ประกอบถ้ามันเป็นคู่ ( arr[i]%2==0 )

  • จากนั้นตรวจสอบว่าไม่ใช่ 0 หรือ 2 หากนับการเพิ่มจริง

  • คืนค่าการนับเป็นผลลัพธ์ที่ส่วนท้ายของ for loop

ตัวอย่าง

#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