Pagini recente » Cod sursa (job #201034) | Cod sursa (job #200984) | Cod sursa (job #503645) | Cod sursa (job #1734024) | Cod sursa (job #45468)
Cod sursa(job #45468)
#include<stdio.h>
#define max 1000000
int a[max], p, re[max], r, aux;
long long d;
long long mod(int a[max], int b){
int i;
long long t=0;
for (i=a[0];i>0;i--)
t=(t*10+a[i])%b;
return t;
}
void adn(int a[max], int b[max]){
int i, t=0;
for (i=1;i<=a[0] || i<=b[0] || t; i++,t/=10)
a[i]=(t+= a[i] + b[i])%10;
a[0]=i-1;
}
void scrie(int a[max]){
int i;
for (i=a[0];i>0;i--)
printf("%d",a[i]);
}
int main(){
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
int j;
char x;
p=0;
scanf("%c",&x);
while (x!='\n'){
p++;
a[p]=x-'0';
scanf("%c",&x);
}
for (j=1;j<=p/2;j++){
aux=a[j];
a[j]=a[p-j+1];
a[p-j+1]=aux;
}
a[0]=p;
scanf("%lld",&d);
r=mod(a,d);
r=(d-r)%d;
p=0;
while (r>0){
p++;
re[p]=r%10;
r=r/10;
}
re[0]=p;
adn(a,re);
scrie(a);
printf("\n");
fclose(stdin);
fclose(stdout);
return 0;
}