Cod sursa(job #961104)

Utilizator primulDarie Sergiu primul Data 11 iunie 2013 17:09:52
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
#include<string.h>
#define N 1000000
using namespace std;
char s[N],e[N];
int x[20],u[20];
long n,i,k,j,t,l,r;
long long d,m;
  
long long mod(char s[N],long n,long long d)
{long i;
long long t=0;
for(i=0;i<n;i++)
       t=(t*10+(s[i]-'0'))%d;
return t;}
  
int main()
{ifstream f("next.in");
ofstream g("next.out");
f>>s;
f>>d;
n=strlen(s);
m=(d-mod(s,n,d))%d;
while(m)
        x[++k]=m%10,m/=10;
for(i=1;i<=k;i++)
        u[i]=x[k-i+1];
for(i=n-1,j=k,t=l=0;i>=0&&j;i--,j--,t/=10)
        e[++l]=((t+=(s[i]-'0')+u[j])%10)+'0';
for(r=i;r>=0;r--,t/=10)
        e[++l]=((t+=(s[r]-'0'))%10)+'0';
for(r=j;r;r--,t/=10)
        e[++l]=((t+=u[r])%10)+'0';
if(t)
        e[++l]=t+'0';
for(i=l;i;i--)
        g<<e[i];
return 0;}