Cod sursa(job #50312)

Utilizator Spike7d5Spike7d5 Spike7d5 Data 7 aprilie 2007 14:23:48
Problema Next Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#include <string.h>
#define MAX 1000005

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; }

int main() {
char str[MAX];
long long div, t;
int nr[MAX], i;

freopen("next.in", "r", stdin);
freopen("next.out", "w", stdout);

scanf("%s\n%lld", str, &div);
nr[0]=strlen(str);
for(i=nr[0];i>0;i--) nr[i]=str[nr[0]-i]-'0';

t=mod(nr, div);
if (t>0) div=div-t; else div=0;

i=1; t=0; nr[nr[0]+1]=0;
while (div>0 || t>0) {
  t+=div%10+nr[i];
  nr[i]=t%10;
  div/=10; t/=10;
  i++; }

for (i=nr[0];i>0;i--) printf("%d", nr[i]);
printf("\n");

return 0; }