Cod sursa(job #1237035)

Utilizator xtreme77Patrick Sava xtreme77 Data 2 octombrie 2014 23:59:27
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <cstring>

const char IN [ ] = "next.in" ;
const char OUT [ ] = "next.out" ;
const int MAX = 1000014 ;

using namespace std;

ifstream fin ( IN ) ;
ofstream fout ( OUT ) ;

char s [ MAX ] ;
int v [ MAX ] ;

int main(              )
{
    fin >> s ;
    for ( int i = strlen ( s ) - 1 ; i >= 0 ; -- i )
        v [ ++ v [ 0 ] ] = s [ i ] - '0' ;
    long long D ;
    fin >> D ;
    long long R = 0 ;
    for ( int i = v [ 0 ] ; i ; -- i )
        R = ( R * 10 + v [ i ] ) % D ;
    long long X = ( D - R ) % D ;
    int t = 0 ;
    for ( int i = 1 ; i <= v [ 0 ] ; ++ i )
    {
        v [ i ] = v [ i ] + X % 10 + t ;
        t = v [ i ] / 10 ;
        v [ i ] %= 10 ;
        X /= 10;
    }
    if ( t )
        v [ ++ v [ 0 ] ] = t ;
    for ( int i = v [ 0 ] ;  i ; -- i )
        fout << v [ i ] ;
    return 0;
}