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

URGENT! C++


Se citesc numere de la tastatură până la apariția unui număr negativ. Să se afișeze cel mai mare număr prim din șirul primit.

NU se vor utiliza vectori în rezolvarea problemei.

Dacă printre numerele citite nu este niciunul prim, se va afișa „nu exista” (fără ghilimele). Date de intrare:

Numere naturale întregi cu semn reprezentate pe 32 de biți

Date de ieșire:

Cel mai mare număr prim din șirul de numere

Exemplu:

Date de intrare:

12 14 6 9 72 7 82 6 13 21 -1

Date de ieșire:

13

Anexe:

Răspunsuri la întrebare

Răspuns de VxF
1

Răspuns:

#include <iostream>

int main()

{

   long numar, celMaiMarePrim = -1;

   while (1) {

       std::cout << "Număr: ";

       std::cin >> numar;

       if (numar < 1) {

           break;

       }

       if (numar <= celMaiMarePrim) {

           continue;

       }

       int eprim = 1;

       for (int i = 2, l = numar / 2; i < l; i++) {

           if (numar % i == 0) {

               eprim = 0;

               break;

           }

       }

       if (eprim) {

           celMaiMarePrim = numar;

       }

   }

   std::cout << "Cel mai mare prim: " << (celMaiMarePrim < 0 ? "nu există" : std::to_string(celMaiMarePrim)) << std::endl;

}


climaCode: imi acute si la una ca am postat te rog eu
VxF: Îmi pare rău, dar ăla cu CMMDC îmi depășește cunoștinţele de matematică.
Alte întrebări interesante