Cod sursa(job #1415019)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 3 aprilie 2015 15:46:29
Problema Multiplu Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>
#include <stdlib.h>
#define MAXN 2000000
int v[MAXN],v1[MAXN];
int main(){
    FILE*fi,*fout;
    int i,nr,b,e,cmmmc,a1,b1,a,r,flag,poz;
    fi=fopen("multiplu.in" ,"r");
    fout=fopen("multiplu.out" ,"w");
    fscanf(fi,"%d%d" ,&a,&b);
    a1=a;b1=b;
    while(b>0){
        r=a%b;
        a=b;
        b=r;
    }
    cmmmc=(a1*b1)/a;
    flag=1;
    b=e=0;
    v[b]=1;
    poz=1;
    do{
        e=(e+1)%MAXN;
        v[e]=(v[b]*10)%cmmmc;
        e=(e+1)%MAXN;
        v[e]=(v[b]*10+1)%cmmmc;
        b=(b+1)%MAXN;
        poz++;
    }while(v[b]%cmmmc>0);
    nr=0;
    while(poz>0){
        v1[nr++]=poz%2;
        poz=poz/2;
    }
    for(i=nr-1;i>=0;i--)
         fprintf(fout,"%d" ,v1[i]);
    fclose(fi);
    fclose(fout);
    return 0;
}