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