Cod sursa(job #735412)

Utilizator cocaioan93Coca Ioan-Adrian cocaioan93 Data 16 aprilie 2012 13:40:57
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#include <cstring>
 int n[1000003],i;
 long long k;

 long long mod(int A[1000003],long long B)
   {
    long long i,t=0;
    for(i= A[0];i>0;i--)
      t=(t*10+A[i])%B;
    return t;
   }

 void add(int A[1000003],long long B)
   {
    for(i=1;i<=A[0]||B>0;++i)
      B+=A[i],A[i]=B%10,B/=10;
	if(i>A[0])
	  A[0]=i-1;
   }

 int main()
   {
	char s[1000003];
	freopen("next.in","r",stdin);
	freopen("next.out","w",stdout);
	scanf("%s\n%lld",s,&k);
	n[0]=strlen(s);
	for (i=0;i<n[0];++i)
      n[n[0]-i]=s[i]-'0';
	long long x=mod(n,k);
	if (x)
	  add(n,k-x);
	for (i=n[0];i>0;--i)
	  printf("%d",n[i]);
	return 0;
   }