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