Cod sursa(job #1540461)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 2 decembrie 2015 20:13:26
Problema Multiplu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>

using namespace std;
unsigned long long a,x,b,c,d,r,v[3];
int z(int po, int pi)
{
    //while(((pr*a)%(p*10))/p>=2)
    int i,y,t;
    while((po*a/pi)%10<2&&pi<a*po)
        pi*=10;
        y=0;
    if(pi<a*po&&po<100000000)
    {
        for(i=0; i<=8; i++)
        {
            po+=pi;
            if(((po*a)%(pi*10))/pi<2)
            {
                y++;
                v[y]=po;
            }

        }
        t=z(v[1], pi);
        y=z(v[y], pi);
        if(y>t) y=t;
        return y;
    }
    return po;
}
int main()
{
    ifstream f("multiplu.in");
    ofstream g("multiplu.out");
    f>>a>>b;
    c=a;
    d=b;
    while(d)
    {
        r=c%d;
        c=d;
        d=r;
    }
    a=a*b/c;
    x=1;
    while(a%10==0)
    {
        a/=10;
        x*=10;
    }
    while(a%2==0)
    {
        a/=2;
        x*=10;
    }
    while(a%5==0)
    {
        a/=5;
        x*=10;
    }
    g<<a*z(1,1)*x<<'\n';
    f.close(); g.close();
}