Rezolvare completă PbInfo #3407 aoc2020

Cerința

Gigel a fost prins de doamna profesoară de matematică în timp ce se juca Art of conquest pe telefon în timpul orei de matematică. Drept pedeapsă, aceasta i-a dat să calculeze cel mai mic multiplu comun al unui șir de n numere naturale. Dorind să termine cât mai repede ceea ce are de făcut și să reia jocul fără să fie dat afară din alianță, Gigel apelează la ajutorul tău și te roagă să scrii un program care să îi rezolve problema primită ca pedeapsă.

Date de intrare

Fișierul de intrare aoc2020.in conține pe prima linie numărul n, iar pe a doua linie n numere naturale separate prin spații.

Date de ieșire

Fișierul de ieșire aoc2020.out va conține pe prima linie numărul x, reprezentând cel mai mic multiplu comun ale celor n numere citite .

Restricții și precizări

  • 1 ≤ n ≤ 100
  • numerele de pe a doua linie a fișierului de intrare vor fi mai mici sau egale cu 1.000
  • x are cel mult 18 cifre

Exemplu

aoc2020.in

4
18 54 24 42

aoc2020.out

1512

Explicație

Cel mai mic multiplu comun al numerelor 18, 54, 24 și 42 este 1512.

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 aoc2020:

#include <fstream>
using namespace std;
ifstream fin("aoc2020.in");
ofstream fout("aoc2020.out");

int main()
{
    int n;
    long long x,y,a,b,r;
    fin>>n>>x;
    for(int i=2;i<=n;i++)
    {
        fin>>y;
        a=x;
        b=y;
        while(b!=0)
        {
            r=a%b;
            a=b;
            b=r;
        }
        x=x/a*y;
    }
    fout<<x;
    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 #3407 aoc2020

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #3407 aoc2020 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!