#302
Cerinţa
Se dau n numere naturale cu cel mult două cifre fiecare. Determinaţi cel mai mare număr prim de două cifre care nu apare printre numerele date.
Date de intrare
Fişierul de intrare cautaprim.in conţine pe prima linie numărul n; urmează cele n numere, dispuse pe mai multe linii şi separate prin spaţii.
Date de ieşire
Fişierul de ieşire cautaprim.out va conţine pe prima linie cel mai mare număr prim de două cifre care nu apare printre numerele date. Dacă printre numerele date se află toate numerele prime de două cifre, în fişier se va scrie valoarea 0.
Restricţii şi precizări
1 ≤ n ≤ 100000
Exemplu
cautaprim.in
8
3 19 3 65 3 97 14 3
cautaprim.out
89
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
bitset<100>vnum, vprim;
int main()
{
ifstream f("cautaprim.in");
ofstream g("cautaprim.out");
int num, i, n, gasit=0;
f >> n;
for (i=1; i<=n; ++i)
{
f >> num; vnum[num]=1;
}
vprim[11]=vprim[13]=vprim[17]=vprim[19]=vprim[23]=vprim[29]=1;
vprim[31]=vprim[37]=vprim[41]=vprim[43]=vprim[47]=vprim[53]=1;
vprim[59]=vprim[61]=vprim[67]=vprim[71]=vprim[73]=vprim[79]=1;
vprim[83]=vprim[89]=vprim[97]=1;
for (i=97; i>10 && gasit==0;--i)
if (vprim[i] && vnum[i]==0) { gasit=1; g << i; }
if (gasit==0) g << 0;
return 0;
}
#include < fstream>
using namespace std;
ifstream fin("cautaprim.in");
ofstream fout("cautaprim.out");
int n, v[100];
int main()
{
fin >> n;
int x;
for(int i=1;i <= n;++i){
fin >> x;
v[x] = 1;
}
int rez = 0;
for(x = 97 ; x > 10 && rez == 0 ; x-=2)
if(v[x]==0){
int prim = 1;
for(int d = 2 ; d*d <=x ; ++d)
if(x%d == 0)
prim = 0;
if(prim)
rez = x;
}
fout << rez;
return 0;
}
Alte întrebări interesante
Chimie,
8 ani în urmă
Engleza,
8 ani în urmă
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
vprim[31]=vprim[37]=vprim[41]=vprim[43]=vprim[47]=vprim[53]=1;
vprim[59]=vprim[61]=vprim[67]=vprim[71]=vprim[73]=vprim[79]=1;
vprim[83]=vprim[89]=vprim[97]=1;
astea nu se pot rezolva si altfel, ca nu prea inteleg ?