Cod sursa(job #3338411)

Utilizator PopRadGabPopescu Radu Gabriel PopRadGab Data 2 februarie 2026 23:09:13
Problema Multiplu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("multiplu.in");
ofstream fout("multiplu.out");

const int MAXC=10005;

void atribuire_scalar(int A[],int x){
    A[0]=0;
    if(x==0){
        A[0]=1;
        A[1]=0;
    }else{
        while(x){
            A[++A[0]]=x%10;
            x/=10;
        }
    }
}

void impartire(int A[],int x,int C[],int &r){
    r=0;
    C[0]=A[0];

    for(int i=A[0];i>=1;i--){
        int curent=10*r+A[i];
        C[i]=curent/x;
        r=curent%x;
    }

    while(C[0]>1&&C[C[0]]==0)
        C[0]--;
}

int main(){
    int a,b;
    fin>>a>>b;

    int M[MAXC];

    for(int i=1;;i++){
        int M1[MAXC],M2[MAXC],C1[MAXC],C2[MAXC];
        int r1,r2;

        atribuire_scalar(M1,i);
        atribuire_scalar(M2,i);

        impartire(M1,a,C1,r1);
        impartire(M2,b,C2,r2);

        if(r1==0&&r2==0){
            for(int j=0;j<=M1[0];j++)
                M[j]=M1[j];
            break;
        }
    }

    int r;
    impartire(M,2,M,r);

    for(int j=M[0];j>=1;j--)
        fout<<M[j];

    return 0;
}