fbpx

Problema #666 – NrPrime – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine câte dintre elementele situate pe linii cu indici pari sunt prime.

Date de intrare

Programul citește de la tastatură numerele n m, iar apoi n șiruri cu câte m numere naturale, reprezentând elementele matricei.

Date de ieșire

Programul va afișa pe ecran numărul C, reprezentând valoarea căutată.

Restricții și precizări

  • 1 ≤ n , m ≤ 100
  • elementele matricei sunt numere naturale mai mici decât 1.000.000
  • liniile matricei sunt numerotate de 1 la n, iar coloanele de la 1 la m

Exemplu

Intrare

4 3
5 12 10
3 9 1
7 10 1
10 9 3

Ieșire

2

Explicație

Cele 2 valori prime determinate sunt cele îngroșate mai jos:

5 12 10
3 9 1
7 10 1
10 9 3

Observăm că matricea conține și alte elemente prime, dar ele nu sunt situate pe linii cu indici pari.

#include <bits/stdc++.h>
using namespace std;
int prim(int n)
{
    if(n==0 || n==1) return 0;
    if(n==2) return 1;
    if(n%2==0) return 0;
    for(int i=3;i*i<=n;i=i+2)
    {
        if(n%i==0) return 0;
    }
    return 1;
}
int main()
{
    int n,m,cate=0;;
    int a[102][102];
    cin >> n >> m;
    for(int i=1;i<=n;++i)
       for(int j=1;j<=m;++j)
        {
            cin >> a[i][j];

        }
     for(int i=2;i<=n;i=i+2)
            for(int j=1;j<=m;++j)
     {
         if(prim(a[i][j])) cate++;
     }

    cout <<cate;
    return 0;
}
Comentarii

S-ar putea sa iti placa