Răspuns :
Răspuns:
#include <iostream>
using namespace std;
bool e_prim(int n) {
if (n < 2) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
for (int d = 3; d * d <= n; d += 2)
if (n % d == 0) return false;
return true;
}
int maxim_prim_divImp(int v[], int i, int s) {
if (i == s) {
if (e_prim(v[s])) return v[s];
return 0;
}
int d1 = maxim_prim_divImp(v, i, (i + s) / 2);
int d2 = maxim_prim_divImp(v, (i + s) / 2 + 1, s);
if (d1 > d2)
return d1;
return d2;
}
int main() {
int n, v[1001],M,s=1;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> v[i];
M=maxim_prim_divImp(v,1,n);
cout<<M;
return 0;
}
Explicație:
100 p pb info
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!