Cerința
Numim număr mare
un număr care conține prea multe cifre pentru a fi memorat în tipurile existente, și număr mic
un număr care poate fi memorat în acestea.
Se dau două numere, unul mare și unul mic, ambele ≥0
. Calculați produsul lor.
Date de intrare
Fișierul de intrare produsxl.in
conține pe prima linie numărul mare x
, pentru care se precizează mai întâi numărul de cifre și apoi cifrele sale, separate prin câte un spațiu, iar pe a doua linie numărul mic y
.
Date de ieșire
Fișierul de ieșire produsxl.out
va conține pe prima linie numărul P
, reprezentând produsul celor două numere din fișierul de intrare.
Restricții și precizări
- numărul mare are cel mult
100
de cifre - numărul mic este mai mic decât
1.000.000.000
- cifrele numărului mic nu sunt separate prin spații
- cifrele rezultatului nu vor fi separate prin spații
Exemplu
produsxl.in
20 7 8 5 3 7 6 7 1 4 6 9 9 4 3 4 6 6 9 9 9 123
produsxl.out
9660133590803046440877
Explicație
78537671469943466999 * 123 = 9660133590803046440877
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 ProdusXL:
#include <fstream>
using namespace std;
ifstream fin("produsxl.in");
ofstream fout("produsxl.out");
int x[120];
int main()
{
int i, n;
long long r,y;
fin>>n;
for(i=n; i>=1; i--)
{
fin>>x[i];
}
fin>>y;
if(y==0)
{
n=1;
x[1]=0;
}
else
{
r=0;
for(i=1; i<=n ; i++)
{
r=r+x[i]*y;
x[i]=r%10;
r/=10;
}
while(r>0)
{
n++;
x[n]=r%10;
r=r/10;
}
}
for(i=n; i>=1; i--)
{
fout<<x[i];
}
fin.close();
fout.close();
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 #2409 ProdusXL
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2409 ProdusXL 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!