Dado un entero positivo N > 1 . Encuentra la cuenta máxima de números primos cuya suma es igual a la N dada.
Ejemplos:
Entrada: N = 5
Salida: 2
Explicación : 2 y 3 son dos números primos cuya suma es 5.
Entrada: N = 6
Salida: 3
Explicación : 2, 2, 2 son tres números primos cuya suma es 6.
Para el máximo número de primos cuya suma sea igual a n dada, los números primos deben ser lo más pequeños posible. Entonces, 2 es el número primo más pequeño posible y es un número par. El siguiente número primo es mayor que 2 en 3, que es impar. Entonces, para cualquier n dado, hay dos condiciones, o n será par o impar.
- Caso 1: n es par , en este caso, n/2 será la respuesta (n/2 número de 2 resultará en la suma de n).
- Caso 2: n es impar , en este caso, piso (n/2) será la respuesta ((n-3)/2 número de 2, y un 3 resultará en la suma de n).
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for above approach #include <bits/stdc++.h> using namespace std; // Function to find max count of primes int maxPrimes(int n) { // if n is even n/2 is required answer // if n is odd floor(n/2) = (int)(n/2) is required answer return n / 2; } // Driver Code int main() { int n = 17; cout << maxPrimes(n); return 0; }
Java
// Java program for above approach class GFG { // Function to find max count of primes static int maxPrimes(int n) { // if n is even n/2 is required answer // if n is odd floor(n/2) = (int)(n/2) // is required answer return n / 2; } // Driver Code public static void main(String[] args) { int n = 17; System.out.println(maxPrimes(n)); } } // This code is contributed // by Code_Mech
Python3
# Python3 program for above approach # Function to find max count of primes def maxPrmimes(n): # if n is even n/2 is required answer # if n is odd floor(n/2) = (int)(n/2) # is required answer return n // 2 # Driver code n = 17 print(maxPrmimes(n)) # This code is contributed # by Shrikant13
C#
// C# program for above approach using System; class GFG { // Function to find max count of primes static int maxPrimes(int n) { // if n is even n/2 is required answer // if n is odd floor(n/2) = (int)(n/2) // is required answer return n / 2; } // Driver Code public static void Main() { int n = 17; Console.WriteLine(maxPrimes(n)); } } // This code is contributed // by Akanksha Rai
PHP
<?php // PHP program for above approach // Function to find max count of primes function maxPrimes($n) { // if n is even n/2 is required answer // if n is odd floor(n/2) = (int)(n/2) is required answer return (int)($n / 2); } // Driver Code $n = 17; echo maxPrimes($n); // This code is contributed by mits ?>
Javascript
<script> // Javascript program for above approach // Function to find max count of primes function maxPrimes(n) { // if n is even n/2 is required answer // if n is odd floor(n/2) = (int)(n/2) is required answer return parseInt(n / 2); } // Driver Code var n = 17; document.write( maxPrimes(n)); </script>
8
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por Shivam.Pradhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA