Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #define N 111
- using namespace std;
- typedef int Huge[N];
- void Nr_Huge(Huge X,int n) /// X <- n
- {
- int i=0;
- X[0]=0;
- if(n==0)
- X[0]=1,X[1]=0;
- else
- while(n)
- ++X[0],X[++i]=n%10,n/=10;
- }
- void MultHuge(Huge A,Huge B) /// A <- A x B
- {
- if(B[0]==1&&B[1]==0) /// Verific daca al doilea numar este 0
- {
- A[0]=1;
- A[1]=0;
- return;
- }
- int i,j,T=0;
- Huge C;
- C[0]=A[0]+B[0]-1;
- for(i=1;i<=A[0]+B[0];)
- C[i++]=0;
- for(i=1;i<=A[0];++i)
- for(j=1;j<=B[0];++j)
- C[i+j-1]+=A[i]*B[j];
- for(i=1;i<=C[0];++i)
- T=(C[i]+=T)/10,C[i]%=10;
- if(T)
- C[++C[0]]=T;
- for(i=0;i<=C[0];++i)
- A[i]=C[i];
- }
- int main()
- {
- int n;
- Huge nr_mare,nr_mic;
- ifstream f("produsxl.in");
- f>>n;
- for(int i=1;i<=n;++i)
- f>>nr_mare[n-i+1];
- nr_mare[0]=n;
- int nr;
- f>>nr;
- f.close();
- Nr_Huge(nr_mic,nr);
- MultHuge(nr_mare,nr_mic);
- ofstream g("produsxl.out");
- for(int i=nr_mare[0];i>0;--i)
- g<<nr_mare[i];
- g<<'\n';
- g.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement