problema 666 de pe pbinfo puteți sa imi spuneți va rog muult ce este greșit la rezolvarea mea?? Iau 0 puncte dar chiar nu vad unde e greșeala.
#include <iostream>

using namespace std;



int a[101][101], cnt;



int main()

{
int n, m;

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+=2)

for(int j = 1; j <= m; ++j){
int ca = a[i][j];

int cn = 1, d = 2;

while(ca > 1){
int p = 0;

while(ca % d == 0)

ca /= d; p++;

cn *= (p + 1);

d++;

if(d * d > ca)

d = ca;

}

if(cn == 2)

cnt++;

}

cout << cnt;

}​

Răspuns :

INCEARCA ASTA!!! COROANA TE ROG!!!

#include <iostream>

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, k=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])) k++;

   cout <<k;

   return 0;

}