programa en C ++ para encontrar mayor lista de los números primos

Aquí, vamos a aprender cómo encontrar la mayor lista de números primos ?

Planteamiento del problema:

Se le da un número N , usted tiene que encontrar la mayor lista de números primos que darán N después de la suma de la lista.

Ejemplo:

    Sample Input:
7
2
Sample Output:
2 2 3
2

Explicación:

    7 can be expressed as summation of 2+2+3
2 can be expressed as summation of 2

idea básica:

Un número puede ser expresado como suma de más larga lista de números primos sólo cuando se expresa sólo con 2 y 3.

Algoritmo:

prime_List(N)
1. if(N%2)==0
2. Express it as summation of (N/2) number of 2
3. Else if(N%2)!=0
//So that N can be even, for example N=19, so now N=19-3=16
4. Set N=N-3
5. Print (N/2) numbers of 2
6. Print 3
7. END of Program.

C ++ programa

#include<bits/stdc++.h>
using namespace std;
int list_prime(int n)
{
int i;
if(n<2)
{
cout<<"Summation not possiblen";
}
//if n can be divided by 2, then we can express
//it as summation of 2 only
else if(n%2==0)
{
for(i=1;i<=n/2;i++)
{
cout<<2<<" ";
}
}
else
{
//making the number even
n=n-3;
//n can be divided by 2 now
for(i=1;i<=n/2;i++)
cout<<2<<" ";
//add 3, and the summation will be now n
cout<<3<<" ";
}
}
int main()
{
int i,n;
cin>>n;
list_prime(n);
return 0;
}

salida

7
2 2 3


Deja un comentario

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