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