Cod sursa(job #120235)

Utilizator info_arrandrei gigea info_arr Data 4 ianuarie 2008 18:04:58
Problema Multiplu Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <cstdio>
#include <cstring>
#include <cstdlib>

using namespace std;

#define FIN "multiplu.in"
#define FOUT "multiplu.out"
#define MAX_N 30

int S[30];
int A, B, k;

    void check ()
    {
         int i;
         long long g = S[1];
         for (i = 2; i <= k; ++i)
             g = g * 10 + S[i];
         if (g % A == 0 && g % B == 0)
         {
               for (i = 1; i <= k; ++i) printf ("%d", S[i]);
               exit (0);
         }
    }
         
         
    void back (int p)
    {
         int i;
         for (i = 0; i < 2; ++i)
         {
             S[p] = i;
             if (p == k) check ();
                else if (p < k) back (p + 1);
         }
    }

    int main ()
    {
        freopen (FIN, "r", stdin);
        freopen (FOUT, "w", stdout);
        
        scanf ("%d %d", &A, &B);
        
        for (k = 1; k <= 10; ++k)
        {
            memset (S, 0, sizeof (S));
            S[1] = 1;
            back (2);
        }
        
        return 0;
    }