👤

Subprogramul prime are trei parametri:
• n, prin care primește un număr natural (n∈[4,109]);
• x și y, prin care furnizează cele mai mari două numere prime din intervalul [1,n), x Scrieți definiția completă a subprogramului.
Exemplu: dacă n=49, în urma apelului x=43, y=47.


Răspuns :

Răspuns:

#include <iostream>

#include <limits.h>

using namespace std;

int prim(int a)

{

    int i,ok=1;

    if(a<=1)

         ok=0;

    for(i=2;i<=a/2;i++)

         if(a%i==0)

         ok=0;

    return ok;

}

void prime(int n,int &x,int &y)

{

    int max1=INT_MIN,max2=INT_MIN;

         for(y=1;y<n;y++)

              if(prim(y)==1 && y>max2)

              max2=y;

    for(x=1;x<max2;x++)

    if(prim(x)==1 && x>max1)

         max1=x;

    cout<<"x="<<max1<<endl;

    cout<<"y="<<max2;

}

int main()

{

   int n,x,y;

   cout<<"n=";

   cin>>n;

   prime(n,x,y);

   return 0;

}

Explicație: