👤

Ma ajuta si pe mine cineva cu problema 4 sau 5?

Ma Ajuta Si Pe Mine Cineva Cu Problema 4 Sau 5 class=

Răspuns :

#include <iostream>

///problema 5

using namespace std;

int m[52][52] ;

int gcd(int a, int b) {

   int r ;

   if (a < b)

       swap(a, b) ;

   while (b) {

       r = a % b ;

       a = b ;

       b = r ;

   }

   return a ;

}

int main() {

   int n, i, j ;

   cin >> n ;

   for (i = 1 ; i <= n ; ++ i)

       for (j = 1 ; j <= n ; ++ j)

           cin >> m[i][j] ;

   int ans = m[1][n] ;

   j = n ;

   /// diagonala secundara are forma

   /// 1 n

   /// 2 n - 1

   /// 3 n - 2

   ///  ....

   /// n 1

   ///iteram printr-un for si calculam gcd cu algoritmul lui euclid

   for (i = 1 ; i <= n ; ++ i)

           ans = gcd(ans, m[i][j]), -- j ;

   cout << ans ;

   return 0 ;

}