Buna, o vreau in C++ dar o rezolvare de clasa a 9 a daca se poate, cea mai simpla..
436. Sa se scrie un program care citeste de la tastatura un numar natural n si apoi un sir de n numere naturale si determina cel mai mare numar prim din sir si de cate ori apare.
Va rog !
boiustef:
am rezolvare... dar aplic o functie ce determina daca numarul introdus e prim sau nu...
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int prim (int n)
{
if (n==0 || n==1) return 0;
else {
int d=1,i;
for (i=2;i*i<=n && d;++i){
if (n%i==0) d=0;
}
if (d==1) return 1;
else return 0;
}
}
int main()
{
int n, a, ap=0, primmax, i;
cin >> n >> a;
i=1;
while (!prim(a))
{
++i; cin >> a;
}
primmax=a; ap=1;
while (i<n)
{
++i; cin >> a;
if (prim(a))
{
if (a>primmax) { primmax=a; ap=1; }
else if (a==primmax) ++ap;
}
}
cout << primmax << " " << ap << endl;
return 0;
}
Explicație:
cred v-a propus alta testare pentru numar prim, dar asta cu i*i<=n este mai efectiva, mai rapida
Alte întrebări interesante
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă