Pagini recente » Cod sursa (job #1281887) | Cod sursa (job #2163648) | Cod sursa (job #2139675) | Cod sursa (job #1198091) | Cod sursa (job #114936)
Cod sursa(job #114936)
#include<stdio.h>
#include<string.h>
#define dim 1001
typedef int Huge[dim];
void scrie(Huge a);
long impartire(Huge a, long b);
void conversie(char s[dim], Huge a);
void mutare(Huge a, Huge c);
long r,n,i,l,j,k,m,p,kkt;
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
Huge a,b,c;
scanf("%ld%ld", &n, &m);
p=n*m;
do
{
r=n%m;
n=m;
m=r;
}while(r);
kkt=p/n;
n=kkt;
l=0;
for(i=1; i<=n; ++i)
{
a[0]=i;
for(j=1; j<=a[0]; ++j)
a[j]=1;
mutare(a,c);
impartire(a,n);
r=impartire(c,n);
b[++l]=r;
}
for(i=1; i<=n; ++i)
if(b[i]==0)
{
for(j=1; j<=i; ++j)
printf("1");
return 0;
}
for(i=1; i<n; ++i)
for(j=i+1; j<=n; ++j)
{
if(b[i]==b[j])
{
for(k=1; k<=j-i; ++k)
printf("1");
for(k=1; k<=i; ++k)
printf("0");
return 0;
}
}
return 0;
}
long impartire(Huge a, long n)
{
long r=0,i;
for(i=a[0]; i; --i)
{
r=10*r+a[i];
a[i]=r/n;
r%=n;
}
while(!a[a[0]] && a[0]>1)
--a[0];
return r;
}
void mutare(Huge a, Huge c)
{
int i;
for(i=1; i<=a[0]; ++i)
c[i]=a[i];
c[0]=a[0];
}