Informatică, întrebare adresată de DenisaDenisa44, 8 ani în urmă

Se citesc din fisierul text "date in" n-nr natural nenul si n numere naturale nenule. Sa se calculeze si sa se afiseze in fisierul text "date.out" cel mai mare divizor comun si cel mai mic multiplu comun ale celor n numere, pe aceeasi linie, separate printr un spatiu.

Răspunsuri la întrebare

Răspuns de Sergetec
2

Salut!

Ai rezolvarea in C++ mai jos

#include <fstream>

using namespace std;

ifstream in("date.in");

ofstream out("date.out");

int main() {

   int n, a, b, p;

   in >> n >> a;

   p = a;

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

       in >> b;

       p *= b;

       int r;

       while (b != 0) {

           r = a % b;

           a = b;

           b = r;

       }

       p /= a;

   }

   out << "CMMDC: " << a << '\n';

   out << "CMMMC: " << p;

   in.close();

   out.close();

   return 0;

}

Explicatie:

Calculcam CMMMDC pentru primele 2 numere, apoi folosim acel rezultat impreuna cu al 3 lea numar pentru a obtine CMMDC ul a 3 numere si tot asa mai departe.

CMMMC ul il obtinem prin inmultirea a 2 numere si apoi impartirea la CMMDC ul lor.

Alte întrebări interesante