fbpx

Problema #1408 – Numere10 – Rezolvari PBInfo

de Mihai-Alexandru

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
#include <bits/stdc++.h>
using namespace std;

int prim(int n)
{
    int cnt=0;
    for(int i = 1; i * i <= n ; ++i)
    {
        if(n%i==0)
            cnt+=2;
        if(i*i==n)
            cnt--;
    }
    if(cnt==2)
        return 1 ;
    else
        return 0;
}

int main()
{
    int n;
    cin >> n;
    int a[10000];
    int min= 1000000001, max=0;
    int cnt=0;
    for(int i = 0 ; i < n ; ++i)
    {
        cin >> a[i];
        if(prim(a[i]))
        {
            cnt++;
            if(a[i]<min)
                min=a[i];
            if(a[i]>max)
                max=a[i];
        }
    }
    cout << cnt << ' ' << min << ' ' << max;
    return 0;
}
Comentarii

S-ar putea sa iti placa