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
lan
, iar coloanele de la1
lam
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; }