Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long int ll;
- string con(string s,int base1)
- {
- string news,ans;
- ll i,j,x=0,k,len=s.size(),a,jog=0,power=1,rem;
- for(i=len-1; i>=0; i--)
- {
- if(s[i]>='A' && s[i]<='Z')
- a=(s[i]-'A')+10;
- else
- a=(s[i]-'0');
- jog+=(a*power);
- power*=base1;
- }
- ans=to_string(jog);
- return ans;
- }
- int main()
- {
- string x,y;
- while(cin>>x>>y)
- {
- int i,j,k,minx=0,miny=0,a;
- for(i=0;i<x.size();i++)
- {
- if(x[i]>='A' && x[i]<='Z')
- a=(x[i]-'A')+10;
- else
- a=(x[i]-'0');
- if(a>minx)
- minx=a;
- }
- for(i=0;i<x.size();i++)
- {
- if(y[i]>='A' && y[i]<='Z')
- a=(y[i]-'A')+10;
- else
- a=(y[i]-'0');
- if(a>miny)
- miny=a;
- }
- minx++,miny++;
- if(minx==1)minx++;
- if(miny==1)miny++;
- string ans1,ans2;
- int flag=0;
- for(i=minx;i<=36;i++)
- {
- ans1=con(x,i);
- for(j=miny;j<=36;j++)
- {
- ans2=con(y,j);
- if(ans1==ans2)
- {
- cout<<x<<" (base "<<i<<") = "<<y<<" (base "<<j<<")"<<endl;
- flag=1;
- break;
- }
- }
- if(flag==1)
- break;
- }
- if(flag==0)
- cout<<x<<" is not equal to "<<y<<" in any base 2..36"<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement