#666 NrPrime
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 la n, iar coloanele de la 1 la m
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
Imi da de fiecare data error "Caught fatal signal 11"
Uite codul:
#include
using namespace std;
int prim(int x){
int d;
if(x==0||x==1||(x%2==0&&x!=2))
return 1;
for(d=3;d*d<=x;d+=2)
if(x%d==0)
return 1;
return 0;
}
int main()
{
int n,m,c=0;
cin>>n>>m;
int a[100][100];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
if(prim(a[i][j])==0 && i%2==0)
c++;
}
cout<
return 0;
}
//as vrea sa-l faci sa-mi dea 100% pe pbinfo ;D
Răspunsuri la întrebare
Răspuns de
2
#include <iostream>
using namespace std;
int a[100][100];
int prim(int m)
{
int p=1;
if (m<2) p=0;
else if (m==2) p=1;
else
{
if (m%2==0) p=0;
else
{
for (int k=3; k*k<=m && p; ++k)
if (m%k==0) p=0;
}
}
return p;
}
int main()
{
int n, m, i, j, c=0;
cin >> n >> m;
for (i=1; i<=n; ++i)
for (j=1; j<=m; ++j)
cin >> a[i][j];
for (i=2; i<=n; i+=2)
for (j=1; j<=m; ++j)
if (prim(a[i][j])) ++c;
cout << c << endl;
return 0;
}
pmarian98:
Mersi
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă