Cod sursa(job #2021368)

Utilizator refugiatBoni Daniel Stefan refugiat Data 13 septembrie 2017 15:51:53
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
ifstream si("next.in");
ofstream so("next.out");
char n[1000005];
int x[1000005];
long long int mod(int a[],long long int b)
{
    long long t=0;
    for(int i=a[0];i>0;i--)
            t=(t*10+a[i])%b;
    return t;
}
void add(int a[],long long int b)
{
    int i;
    long long t=b;
    for(i=1;i<=a[0]||t;i++,t/=10)
        a[i]=(t+=a[i]) % 10;
    a[0]=i-1;
}
int main()
{
    long long int d;
    si>>n>>d;
    int l=strlen(n);
    for(int i=1;i<=l;i++)
        x[i]=n[l-i]-'0';
    x[0]=l;
    long long int r=mod(x,d);
    if(r>0)
        add(x,d-r);
    for(int i=x[0];i;--i)
        so<<x[i];
    return 0;
}