Pagini recente » Cod sursa (job #2806967) | Cod sursa (job #2262567)
#include <fstream>
#include <vector>
#include <stdio.h>
using namespace std;
FILE *fi=fopen("multiplu.in","r"),*fo=fopen("multiplu.out","w");
const long long NMAX=1e7+5;
int a,b,lcm,dp[NMAX],nr;
vector <int> M;
int gcd(int a,int b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int afis(int nr)
{
while(nr)
{
M.push_back(nr%2);
nr/=2;
}
for(int i=M.size()-1;i>=0;i--)
fprintf(fo,"%d",M[i]);
}
int main()
{
fscanf(fi,"%d %d",&a,&b);
lcm=(a*b)/gcd(a,b);
dp[0]=0;
dp[1]=1;
nr=1;
while(dp[nr]!=0)
{
nr++;
dp[nr]=1;
if(nr%2==1)
dp[nr]=(dp[nr/2]*10+1)%lcm;
else dp[nr]=(dp[nr/2]*10)%lcm;
}
afis(nr);
fclose(fi);
fclose(fo);
return 0;
}