Cod sursa(job #1789403)

Utilizator CalarisPredut Denis Stefanita Calaris Data 26 octombrie 2016 22:46:31
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using namespace std;

#define MAX 1000002

//vector<int> N;
unsigned int N[MAX];
long long rest,D,temp;

inline void getNumber(int length,string number);

inline void solve(int length);

int main()
{
    int strLength,i;
    string nr;

    fstream f("next.in",ios::in);
    ofstream g("next.out");

    f>>nr>>D;

    strLength = nr.length()-1;

    getNumber(strLength,nr);

    solve(strLength);

    for(i = 0;i<=strLength || rest!=0 ;++i,rest/=10)
        {
        N[i] = (rest+=N[i])%10;
        }
    strLength = i - 1;

    for(i =strLength; i>=0;--i)
        {
        g<<N[i];
        }


    return 0;
}

inline void getNumber(int length,string number)
{

  for(int i = length;i>=0;--i)
    {
    N[length-i] = number[i] - '0';
    }
}

inline void solve(int length)
{
  for(int i = length;i>=0;--i)
    {
    rest=(rest*10+N[i])%D;
    }
  rest= D - rest;
  if(rest == D)rest = 0;
}