Cod sursa(job #2398644)

Utilizator greelioGreenio Greely greelio Data 5 aprilie 2019 20:05:22
Problema Next Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<bits/stdc++.h>
#define N 1000030
using namespace std;

int a[N], b[N], c[N];
int n,d;
string s;
ifstream fin("next.in");
void read(int a[N]) {
    fin>>s;
    for (int i=0; i<s.size(); ++i) a[s.size()-i]=s[i]-'0';
    a[0]=s.size();
}

void afisare(int a[N]) {
    for (int i=a[0]; i; i--) cout<<a[i];
    cout<<"\n";
}

int mod(int a[N], int b) {
    int t=0;
    for (int i=a[0]; i>=1; --i, t%=b) {
        t=(t*10+a[i]);
    }
    return t;
}

void sum(int a[N], int b) {
    int t=b,i;
    for (i=1; i<=a[0] || t; t/=10,++i) {
        a[i]=(t+=a[i])%10;
    }
    a[0]=i-1;
}

int main() {
    ofstream cout("next.out");
    read(a);
    fin>>d;
    int m=mod(a,d);
   // cout<<m;
    int f=d-m;
    sum(a,f);
    afisare(a);

    return 0;
}