Pagini recente » Cod sursa (job #1345229) | Cod sursa (job #1828281) | Cod sursa (job #1708655) | Cod sursa (job #2530092) | Cod sursa (job #68585)
Cod sursa(job #68585)
#include <stdio.h>
#include <string.h>
long long d;
int n[1000500], ad[200];
void citire(){
int i;
char s[1000500];
FILE *f=fopen ("next.in", "r");
fscanf (f, "%s\n", &s);
fscanf (f, "%lld", &d);
fclose(f);
n[0]=strlen(s);
for (i=n[0]; i>=1; --i) n[n[0]-i+1]=s[i-1]-'0';
}
long long mod(int A[], long long B)
{
int i;
long long t = 0;
for (i = A[0]; i > 0; i--)
t = (t * 10 + A[i]) % B;
return t;
}
void add(int A[], int B[])
{
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;
}
int main(){
int i;
citire();
long long x = (d - mod(n, d) ) % d;
if (!x) ad[0]=1;
while (x) ad[++ad[0]]=x%10, x/=10;
add(n, ad);
FILE *g=fopen ("next.out", "w");
for (i=n[0]; i>0; --i)
fprintf(g, "%d", n[i]);
fprintf (g, "\n");
fclose(g);
return 0;
}