Cuente los números que se pueden representar como la suma de los mismos números primos de paridad

Dado un arr[] de enteros positivos, debe contar cuántos números se pueden representar como suma de números primos de la misma paridad (pueden ser iguales)

Ejemplos:  

Input : arr[] = {1, 3, 4, 6}
Output : 2
4 = 2+2, 6 = 3+3

Input : arr[] = {4, 98, 0, 36, 51}
Output : 3

1. Si se suman dos números de la misma paridad, siempre serán pares, por lo que todos los números impares en la array nunca pueden contribuir a la respuesta. 
2. Hablando de 0 y 2, ambos no pueden representarse mediante la suma de números primos de la misma paridad. 
3. El resto de todos los números contribuirá a la respuesta (Consulte https://www.geeksforgeeks.org/program-for-goldbachs-conjecture-two-primes-with-given-sum/ )

Entonces, solo tenemos que iterar sobre toda la array y encontrar la cantidad de elementos pares que no son iguales a 0 y 2.  

C++

#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

// 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

Python3

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

// 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

<?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
?>

Javascript

<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>
Producción: 

2

 

Publicación traducida automáticamente

Artículo escrito por krikti y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *