Cod sursa(job #1309342)

Utilizator BlackBird_v.1.0Stephen Berg BlackBird_v.1.0 Data 5 ianuarie 2015 18:05:44
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
#include<algorithm>
#include<string>
using namespace std;
int i;
int a[1000013],b[1000013];
long long d,c;
bool u;
string s;
 
long long Rest(int *A) {
    int i;
    long long aux=0;
    for(i=A[0];i>0;--i) 
	   aux=(aux*10+A[i])%d;
    return aux;
}
 
void adun(int *A,int *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;
 }