Cod sursa(job #122029)

Utilizator iepuras_binarAlexandru B. iepuras_binar Data 10 ianuarie 2008 18:00:12
Problema Next Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <string.h>
char citire[1000010];
int n[1000010];
long long int d; 
    void adun(int A[],int b)
 { int i,t = 0,x;
	for(i=1;i<=A[0];i++)
{
       x=A[i];
       A[i]=(A[i]+t+b)%10;
       t=(x+t+b)/10;
       b=0;
} if (t>0)
A[++A[0]]=t;
}

    int mod(int A[], int B)  
    {  
          int i, t = 0;  
          for (i = A[0]; i > 0; i--)  
                  t = (t * 10 + A[i]) % B;  
         return t;  
    }   
int main() {
int i,k=1;
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
scanf("%s",citire);
scanf("%lld",&d);
n[0] =  strlen(citire) - 1;
for (i=n[0]-1; i >= 0; i--)
n[k++] = (int)citire[i];
adun(n,(d-mod(n,d))%d);
 for (i = n[0]; i >= 1; i--) 
	printf("%d",n[i]);
  return 0;
}