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

Se citeste de la tastatura un sir X cu N (n≤20) numere naturale de maxim 3 cifre . Sa se afiseze :

1) Minimul dintre elementele de pe pozitii impare si maximul dintre elementele de pe pozitii pare

2) Elementul cu numar minim de divizori si elementul cu numar maxim de divizori. In C++

Răspunsuri la întrebare

Răspuns de dragos134
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n, x, i, j, min = 1000, max = 0, min_div = 1000, max_div = 0, count;

   cin >> n;

   for(i = 0; i < n; i++)

   {

       cin >> x; //se citeste fiecare numar

       if((i + 1) % 2 == 0) // se verifica daca numarul este pe pozitie para sau impara

       {

           if(x > max)

           {

               max = x;

           }

       }

       else

       {

           if(x < min)

           {

               min = x;

           }

       }

       count = 1;

       for(j = 1;j <= x / 2; j++) // se calculeaza numarul de diviziori ai fiecarui numar in variabila count

       {

           if(x % j == 0)

           {

               count++;

           }

       }

       if(count > max_div) // se verifica daca numarul de divizori este mai mare sau mai mic decat max_div, respectiv min_div

       {

           max_div = count;

       }

       if(count < min_div)

       {

           min_div = count;

       }

   }

   cout << min << ' ' << max << ' ' << min_div << ' ' << max_div; // se afiseaza cerinta in ordine

   return 0;

}

Alte întrebări interesante