446
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
1lan, iar coloanele de la1lam
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