Cod sursa(job #1524100)

Utilizator FlorinaKarinaConstantin Karina Florina FlorinaKarina Data 13 noiembrie 2015 15:58:00
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
typedef long long var;
int v[1000002];
var lv1;
var D;
var div()
{
      var i, t = 0;
      for (i = lv1; i > 0; i--, t %= D)
               t = t * 10 + v[i];
      return t;
}
void add()
{
      var i , t = 0;
      for (i=1; i <=lv1  || t || D ; i++, t/=10,D/=10)
              v[i] = (t += v[i] + D % 10 ) % 10;
      lv1 = i - 1;
}

int main()
{
    var i = 1,aux;
    char x;
    while(fin.get(x) && x != '\n'){
        v[i] = x - 48;
        i++;
    }
    fin >> D;
    lv1 = i - 1;
       for( i = 1; i <= lv1/2; i++ ){
        aux = v[i];
        v[i] = v[lv1 - i + 1];
        v[lv1 - i + 1] = aux;
       }
    D = (D - div())%D;
    add();
    for(i = lv1; i >= 1 ; i--)
        fout << v[i];

    return 0;
}