Cod sursa(job #38973)

Utilizator damaDamaschin Mihai dama Data 26 martie 2007 12:16:53
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <stdio.h>
#include <ctype.h>
#include <string.h>
long long d, n[1000000];
char line[1000010];

int main()
{
    freopen("next.in","r",stdin);
    freopen("next.out","w",stdout);
    
    int i, len;
    long long temp = 0;
    
    gets(line);
    len = strlen(line);
    for(i = len - 1; i >= 0; --i)
    {
          if(isdigit(line[i]))
          {
                              n[++n[0]] = line[i] - '0';
          }
    }
    scanf("%lld", &d);
    
    for(i = n[0]; i > 0; temp = (temp * 10 + n[i]) % d, --i);
    if(temp)
    {
            n[1] += d - temp;
            i = 1;
            
            while(n[i] >= 10)
            {
                       n[i + 1] += n[i] / 10;
                       n[i] %= 10;
                       ++i;
            }
            if(n[n[0] + 1])
                      ++n[0];
    }
    
    for(i = n[0]; i > 0; --i)
    {
          printf("%lld", n[i]);
    }
    
    return 0;
}