Cerința
Se dau n numere naturale. Calculați câte dintre ele sunt prime, cel mai mare și cel mai mic număr prim.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.
Date de ieșire
Programul va afișa pe ecran numărul C A B, reprezentând câte dintre numerele date sunt prime, cel mai mic și cel mai pare număr prim.
Restricții și precizări
1 ≤ n ≤ 10000
cele n numere citite vor fi mai mici decât 1.000.000.000
în fiecare test va exista cel puțin un număr prim
Exemplu
Intrare
9
7 3 10 17 14 1 9 3 13
Ieșire
5 3 17
MadalinaMadutaa:
dar am facut rezolvarea
using namespace std;
int main() {
int n , x, ct = 0, maxim , minim, gasit = 0;
cin >> n;
for(int i = 1; i <= n ; i ++) {
int prim = 1;
if(x < 2)
prim = 0;
if(x % 2 == 0 && x > 2)
prim = 0;
for(int d = 3; d * d <= x ; d += 2)
if(x % d == 0)
prim = 0;
ct ++;
if(gasit == 0)
maxim = minim = x, gasit = 1;
else {
if(x > maxim)
maxim = x;
if(x < minim)
minim = x;
}
}
}
cout << ct << " " << minim << " " << maxim;
return 0;
}
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;
int prim(int n){
int i, nj;
if(n == 1) return 0;
nj = n/2;
for(i=2;i<=nj;i++){
if(n % i == 0) return 0;
}
return 1;
}
int main(){
int i, a, b, c = 0, t, gasit = 0, n;
cin>>n;
for(i=0;i<n;i++){
cin>>t;
if(prim(t)){
if(!gasit){
a = b = t;
gasit = 1;
}else{
if(t < a) a = t;
if(t > b) b = t;
}
c++;
}
}
cout<<c<<' '<<a<<' '<<b;
}
using namespace std;
int prim(int n){
int i, nj;
if(n == 1) return 0;
nj = n/2;
for(i=2;i<=nj;i++){
if(n % i == 0) return 0;
}
return 1;
}
int main(){
int i, a, b, c = 0, t, gasit = 0, n;
cin>>n;
for(i=0;i<n;i++){
cin>>t;
if(prim(t)){
if(!gasit){
a = b = t;
gasit = 1;
}else{
if(t < a) a = t;
if(t > b) b = t;
}
c++;
}
}
cout<<c<<' '<<a<<' '<<b;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă