Pagini recente » Istoria paginii runda/gigel_si_nemuritorii | preONI 2007, Runda 4, Clasa a 9-a si gimnaziu | Cod sursa (job #1569001) | Cod sursa (job #1210840) | Cod sursa (job #121279)
Cod sursa(job #121279)
#include<stdio.h>
#include<string.h>
long ok,a,b,c,vv,mult,n,m,i,j;
int v[1111],cv[1111];
FILE *f1,*f2;
void adunare(){
long mem;
i=vv-1;
mem=0;
while(mem || i<m+vv){
i++;
c=v[i]+cv[i-vv+1]+mem;
v[i]=c%10;
mem=c/10;
}
if(i>n){
n=i;
}
}
int verificare(){
for(i=n;i>0;i--){
if(v[i]!=0 && v[i]!=1){
return i;
}
}
return 0;
}
long cmmdc(){
long c,d;
c=a;
d=b;
while(c!=d){
if(d>c){
d=d-c;
}
else{
c=c-d;
}
}
return c;
}
long cmmmc(){
long div;
div=cmmdc();
return a/div*b;
}
int main(){
f1=fopen("multiplu.in","r");
f2=fopen("multiplu.out","w");
fscanf(f1,"%ld%ld",&a,&b);
mult=cmmmc();
c=mult;
while(c){
m++;
v[m]=c%10;
cv[m]=c%10;
c=c/10;
}
n=m;
while(vv=verificare()){
if(vv<=m){vv=m;}
vv=vv-m+1;
if(v[vv+m-1]+cv[m]>8 && vv>1){
vv--;
}
adunare();
}
for(i=n;i>0;fprintf(f2,"%d",v[i]),i--);
return 0;}