Pagini recente » Cod sursa (job #3216378) | Cod sursa (job #1392862) | Cod sursa (job #3259978) | Cod sursa (job #1984602) | Cod sursa (job #982402)
Cod sursa(job #982402)
#include <fstream>
#define MAXX 2000005
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
int a,b,x,q[MAXX],back[MAXX],st,dr,y;
bool cifra[MAXX],uz[MAXX];
int cmmdc(int p,int q);
void afisare(int pos);
int main()
{
f>>a>>b;
x=a*b/cmmdc(a,b);
q[++dr]=1;
uz[1]=1;
cifra[dr]=1;
for(st=1;;st++){
y=q[st]*10%x;
if(!uz[y]){
q[++dr]=y;
uz[y]=1;
back[dr]=st;}
if(!y){
afisare(dr);
break;}
y++;
if(y==x)
y=0;
if(!uz[y]){
q[++dr]=y;
uz[y]=1;
back[dr]=st;
cifra[dr]=1;}
if(!y){
afisare(dr);
break;}}
g<<'\n';
f.close();
g.close();
return 0;
}
int cmmdc(int p,int q){
if(!q)
return p;
return cmmdc(q,p%q);}
void afisare(int pos){
if(!pos)
return;
afisare(back[pos]);
g<<cifra[pos];}