Cod sursa(job #1309339)

Utilizator BlackBird_v.1.0Stephen Berg BlackBird_v.1.0 Data 5 ianuarie 2015 18:00:42
Problema Next Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
#include<algorithm>
#include<string>
using namespace std;
 
int i;
short a[1000005],b[1000005];
long long d,c;
bool u;
string s;
 
long long Rest(short *A) {
    int i;
    long long aux=0;
    for(i=A[0];i>0;--i) aux=(aux*10+A[i])%d;
 
    return aux;
}
 
void adun(short *A,short *B) {
     int i,aux=0;
     for(i=1;i<=A[0] || i<=B[0] || aux;++i,aux/=10)
     A[i]=(aux+=A[i]+B[i])%10;
     A[0]=i-1;
}
 
int main()
{
  ifstream cin("next.in");
  ofstream cout("next.out");
   getline(cin,s); cin>>d;
   a[0]=s.length();
   for(i=0;i<a[0];++i) a[a[0]-i]=s[i]-'0';
   d=(d-Rest(a))%d;
   while(d) b[++b[0]]=d%10,d/=10;
   adun(a,b);
   for(i=a[0];i>=1;--i) cout<<a[i];
 return 0;
}