Pagini recente » Cod sursa (job #687882) | Argumentatia | Cod sursa (job #2243105) | Cod sursa (job #2983481) | Cod sursa (job #679083)
Cod sursa(job #679083)
#include <fstream>
#include <cstring>
#define maxN 31
using namespace std;
ifstream in;
ofstream out;
int r[maxN];
inline int eucl(int a,int b)
{
if(b==0) return a;
for(int r=a%b;b;r=a%b,a=b,b=r);
return a;
}
int main()
{
int A,B,mod;
in.open("multiplu.in");
in>>A>>B;
in.close();
mod=eucl(A,B);
mod=((long long)A*B)/mod;
out.open("multiplu.out");
int end=(1<<30);
r[1]=1;
for(int i=2;i<maxN;++i)
r[i]=(r[i-1]*10)%mod;
int k=1;
while(k<mod) k<<=1;
for(int i=k;i<=end;++i)
{
int sum=0;
int x=i,bit=1;
for(bit=1;x;x>>=1,++bit)
if(x&1) sum+=r[bit];
if(sum%mod==0)
{
bit-=2;
for(x=i;bit>=0;--bit)
if(x&(1<<bit)) out<<'1';
else out<<'0';
break;
}
}
out<<'\n';
out.close();
return 0;
}