Cerința
Se dau n
numere naturale, fie acestea A
1
, A
2
,..., A
n
și X
i
cel mai mic număr care are aceiași factori primi in descompunere ca şi A
i
, unde 1≤i≤n
. Aflați produsul X
1
* X
2
*...* X
n
.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran numărul P
, reprezentand numărul cerut.
Restricții și precizări
1 ≤ n ≤ 1000
- cele
n
numere citite vor fi mai mici decât1.000.000.000
Exemplu
Intrare
2 45 20
Ieșire
150
Explicație
45 = 5 * 3 * 3, 20 = 2 * 2 * 5
. Cel mai mic număr care are factorii 3
și 5
in descompunere este 15
, iar cu factorii 2
și 5
este 10
.
15 * 10 = 150
.
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 PMax :
///Moca Andrei - 100p
#include <iostream>
using namespace std;
int rez[100002], p[1002], n, x;
int main()
{
rez[0] = 1;
rez[1] = 1;
cin >> n;
for (int k = 1; k <= n; k++)
{
p[k] = 1;
cin >> x;
int d = 2;
while (x != 1)
{
if (x % d == 0)
p[k] *= d;
while (x % d == 0)
x /= d;
if (d == 2) d = 3;
else d += 2;
if (d * d > x) d = x;
}
}
for(int i = 1 ; i <= n ; ++i)
{
int t = 0;
for(int j = 1 ; j <= rez[0] ; j++)
{
int cif = t + p[i] * rez[j];
rez[j] = cif % 10;
t = cif / 10;
}
while(t)
rez[++rez[0]] = t % 10, t /= 10;
}
for(int i = rez[0] ; i > 0 ; i--)
cout << rez[i];
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 .
Rezolvarea problemei #1840 PMax
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1840 PMax 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!