fbpx

Problema #667 – NrPrime1 – 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 coloane cu indici impari 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 ≤ 600
  • 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 2 10
3 9 1
7 10 1
10 19 3

Ieșire

4

Explicație

Cele 4 valori prime determinate sunt cele evidențiate mai jos:

5 2 10
3 9 1
7 10 1
10 19 3

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

#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 , a[601][601] , cnt = 0 , imin = -1 , imax = -1 , s = 0;
    cin >> n >> m;
    for(int i = 1 ; i <= n ; ++i)
    {
        for(int j = 1 ; j <= m ; ++j)
        {
            cin >> a[i][j];
            if(j % 2 ==1 && prim(a[i][j])) cnt++;
        }
    }
    cout << cnt;
    return 0;
}
Comentarii

S-ar putea sa iti placa