Número máximo de primos cuya suma es igual a N dado

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:
Explicación : 2 y 3 son dos números primos cuya suma es 5.
Entrada: N = 6 
Salida:
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>   
Producción: 

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

Deja una respuesta

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