Rezolvare completă PbInfo #780 CmmdcSum

Cerinţa

Se dă o matrice cu n linii şi n coloane şi elemente numere naturale. Calculaţi cel mai mare divizor comun al sumei elementelor de deasupra diagonalei principale și al sumei elementelor de sub diagonala principală.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n*n numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.

Date de ieşire

Programul afișează pe ecran numărul D, reprezentând valoarea calculată.

Restricţii şi precizări

  • 1 ≤ n ≤ 20
  • elementele matricei vor fi mai mici decât 1.000.000
  • cel puţin un element situat deasupra diagnalei principale şi cel puţin un element situat sub diagonala principală sunt nenule

Exemplu

Date de intrare

4
8 3 5 6 
5 5 6 5 
3 8 6 5 
8 4 8 8 

Date de ieșire

6

Explicație

Suma elementelor de sub diagonala principală este 36 iar cea a elementelor de deasupra diagonalei principale este 30. Cel mai mare divizor comun pentru 36 şi 30 este 6.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema CmmdcSum:

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

int n,a[102][102];

int main()
{
    cin >> n;
    for(int i = 1 ; i <= n ; ++i)
        for(int j = 1 ; j <= n ; ++j)
            cin >> a[i][j];
    
    int s = 0, t = 0;
    
    for(int i = 1 ; i <= n ; i ++ )
        for(int j =1 ; j <= n ; j ++)
            if(i > j)
                s += a[i][j];
            else
                if(i < j)
                    t += a[i][j];
    int r;
    while( s % t !=0)
    {
        r = s % t;
        s = t;
        t = r;
    }
    cout << t;
    
    
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #780 CmmdcSum

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #780 CmmdcSum de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!