Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("ech.in");
- ofstream fout("ech.out");
- const int NMAX=25;
- string s;
- int nr[NMAX*NMAX*NMAX],n,b[NMAX],nb;
- inline int R()
- {
- int r=0;
- for(int i=n;i>=1;i--)
- r=(r*10+nr[i])%11;
- return r;
- }
- inline void SUM()
- {
- int t=0,cifra;
- if(n<nb)
- {
- for(int i=n+1;i<=nb;i++)
- nr[i]=0;
- n=nb;
- }
- else for(int i=nb+1;i<=n;i++)
- b[i]=0;
- for(int i=1;i<=n;i++)
- {
- cifra=nr[i]+b[i]+t;
- nr[i]=cifra%10;
- t=cifra/10;
- }
- if(t)
- nr[++n]=t;
- }
- inline bool CHECK()
- {
- int s,s1;
- s=s1=0;
- for(int i=1;i<=n;i++)
- if(!(i&1))
- s+=nr[i];
- else s1+=(nr[i]);
- return (s==s1);
- }
- int main()
- {
- fin>>s;
- for(int i=s.size()-1;i>=0;i--)
- nr[++n]=(s[i]-'0');
- int k=(11-R());
- while(k)
- {
- ++nb;
- b[nb]=k%10;
- k/=10;
- }
- SUM();
- nb=2;
- b[1]=b[2]=1;
- while(!CHECK())
- SUM();
- for(int i=n;i>=1;i--)
- fout<<nr[i];
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement