Informatică, întrebare adresată de lilicole, 8 ani în urmă

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...
lilicole: Hai sa vedem

Răspunsuri la întrebare

Răspuns de boiustef
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:


Galuska: Bună ziua domnul Baiu .Mă pute-ti ajuta la informatica de clasa 12 .
lilicole: Multumesc, ma descurc cu ea:)
lilicole: Am mai postat una
lilicole: Si cred ca mai pun inca una
lilicole: Cum adica i*i<=n, de ce pt ca am vazut in mai multe probleme cu divizori si tot n am inteles? In for zic
lilicole: Stiu ca intrebarile astea ar trebui sa le pun profesorului, dar avem un profesor de info care crede ca noi stim deja tot si ca el nu trebuie sa ne explice pentru ca aceste lucruri sunt simple si facem incontinuu probleme si nu intelegem nimic
boiustef: proful poate va da la un nivel scazut... ca pentru clasa a 9-a
cred v-a propus alta testare pentru numar prim, dar asta cu i*i<=n este mai efectiva, mai rapida
Alte întrebări interesante