Given an arr[] of positive integers you have to count how many numbers can be represented as sum of same parity prime numbers(can be same)
Examples:
Input : arr[] = {1, 3, 4, 6}
Output : 2
Explanation: 4 = 2+2, 6 = 3+3Input : arr[] = {4, 98, 0, 36, 51}
Output : 3
1. If two numbers of same parity are added then they would be always even, so all odd numbers in the array can never contribute to answer.
2. Talking about 0 and 2 both cannot be represented by sum of same parity prime numbers.
3. Rest of all numbers will contribute to the answer (Refer https://www.geeksforgeeks.org/program-for-goldbachs-conjecture-two-primes-with-given-sum/amp/)
So, we have to just iterate over the entire array and find out number of even elements not equal to 0 and 2.
#include <bits/stdc++.h> using namespace std;
// Function to calculate count int calculate( int * array, int size)
{ int count = 0;
for ( int i = 0; i < size; i++)
if (array[i] % 2 == 0 &&
array[i] != 0 &&
array[i] != 2)
count++;
return count;
} // Driver Code int main()
{ int a[] = { 1, 3, 4, 6 };
int size = sizeof (a) / sizeof (a[0]);
cout << calculate(a, size);
} |
// Java program to Count numbers // which can be represented as // sum of same parity primes import java.util.*;
class GFG
{ // Function to calculate count public static int calculate( int ar[],
int size)
{ int count = 0 ;
for ( int i = 0 ; i < size; i++)
if (ar[i] % 2 == 0 &&
ar[i] != 0 &&
ar[i] != 2 )
count++;
return count;
} // Driver code public static void main (String[] args)
{ int a[] = { 1 , 3 , 4 , 6 };
int size = a.length;
System.out.print(calculate(a, size));
} } // This code is contributed // by ankita_saini |
# Function to calculate count def calculate(array, size):
count = 0
for i in range (size):
if (array[i] % 2 = = 0 and
array[i] ! = 0 and
array[i] ! = 2 ):
count + = 1
return count
# Driver Code if __name__ = = "__main__" :
a = [ 1 , 3 , 4 , 6 ]
size = len (a)
print (calculate(a, size))
# This code is contributed # by ChitraNayal |
// C# program to Count numbers // which can be represented as // sum of same parity primes using System;
class GFG
{ // Function to calculate count public static int calculate( int []ar,
int size)
{ int count = 0;
for ( int i = 0; i < size; i++)
if (ar[i] % 2 == 0 &&
ar[i] != 0 &&
ar[i] != 2)
count++;
return count;
} // Driver code static public void Main (String []args)
{ int []a = { 1, 3, 4, 6 };
int size = a.Length;
Console.WriteLine(calculate(a, size));
} } // This code is contributed // by Arnab Kundu |
<?php // Function to calculate count function calculate(& $array , $size )
{ $count = 0;
for ( $i = 0; $i < $size ; $i ++)
if ( $array [ $i ] % 2 == 0 &&
$array [ $i ] != 0 &&
$array [ $i ] != 2)
$count ++;
return $count ;
} // Driver Code $a = array (1, 3, 4, 6 );
$size = sizeof( $a );
echo calculate( $a , $size );
// This code is contributed // by ChitraNayal ?> |
<script> // Javascript program to Count numbers // which can be represented as // sum of same parity primes // Function to calculate count function calculate(ar, size)
{ var count = 0;
for (i = 0; i < size; i++)
if (ar[i] % 2 == 0 &&
ar[i] != 0 && ar[i] != 2)
count++;
return count;
} // Driver code var a = [ 1, 3, 4, 6 ];
var size = a.length;
document.write(calculate(a, size)); // This code is contributed by todaysgaurav </script> |
2
Time complexity: O(n) where n is the size of the given array
Auxiliary space: O(1)