Cod sursa(job #2498080)

Utilizator Ionut10Floristean Ioan Ionut10 Data 23 noiembrie 2019 14:25:32
Problema Multiplu Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <bits/stdc++.h>
#define DimMax 1000005
using namespace std;

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

int a, b, nr;
int v[DimMax];
long long c;

void Inmulteste(int v[], int nr)
{
    int val = 0, t = 0;
    for(int i = 1;i <= v[0];i++)
    {
        val = v[i] * nr + t;
        t = val / 10;
        v[i] = val % 10;
    }
    while(t > 0)
    {
        v[0]++;
        v[v[0]] = t % 10;
        t /= 10;
    }
}

bool E_Ok(int v[])
{
    for(int i = 1;i <= v[0];i++)
        if(v[i] > 1) return false;
    return true;
}

void Copiaza(int c)
{
    v[0] = 0;
    while(c > 0)
    {
        v[0]++;
        v[v[0]] = c % 10;
        c /= 10;
    }
}
int main()
{
    fin>>a>>b;
    int ca = a, cb = b;
    ///calculez cmmdc (a, b)
    while(b > 0)
    {
        int r = a % b;
        a = b;
        b = r;
    }
    ///cmmmc [a, b];
    c = a; c = (ca * cb) / a;
    nr = 2;
    do
    {
       Copiaza(c);
       Inmulteste(v, nr);
       nr++;
    }while(!E_Ok(v));
    for(int i = v[0];i >= 1;i--) fout<<v[i];
    return 0;
}