👤

Se citeste de la tastatura un numar natural n si cele n linii si n coloane ale unei matrici.
Sa se calculeze suma elementelor prime de deasupra diagonalei principale.

ex :
n=3
1 4 7
8 6 2
9 3 5
S=9


Răspuns :

#include <iostream>
#include <cmath>
using namespace std;

bool prim(int x)
{
    if(x % 2 == 0 && x > 2 || x < 2) return false;
 
    int sq = sqrt(x);
    for(int i = 3; i <= sq; i += 2)
       if(x % i == 0) return false;
 
    return true;
}

int main()
{
   int a[100][100], n, s = 0;
 
   cin>>n;
   for(int i = 0; i < n; i++)
       for(int j = 0; j < n; j++)
           cin>>a[i][j];

   for(int i = 0; i < n; i++)
      for(int j = i + 1; j < n; j++)
      {
           if(prim(a[i][j])) s += a[i][j];
      }
   cout<<s;
}