void process()
{
     unsigned long long v1[100],v2[100];
     long a,b,i,j;
     a=minbase(n1);
     b=minbase(n2);
     for(i=a;i<=36;i++)
     {
       v1[i]=todec(n1,i);
     }
      for(j=b;j<=36;j++)
      {
         v2[j]=todec(n2,j);
      }
      for(i=a;i<=36;i++)
       for(j=b;j<=36;j++)
       {
          if(v1[i]==v2[j])
          {
            printf("%s (base %ld) = %s (base %ld)\n",n1,i,n2,j);
            return;
          }
       }
       printf("%s is not equal to %s in any base 2..36\n",n1,n2);
}
Example #2
0
int main()
{
    int i, j;
    char num[10000];
    
    i = 0;
    j = '0';
    while ( j <= '9' )
        compare[j++] = i++;
    
    j = 'A';
    while ( j <= 'Z' )
        compare[j++] = i++;
    
    j = 'a';
    while ( j <= 'z' )
        compare[j++] = i++;
    
    while(true)
    {
        scanf(" %[^0-9A-z]", &num);
        
        if(scanf("%s", &num) <= 0)
            break;
        
        j = minbase(num);
        
        while(j <= 62 && !calculate(num, j) )
            ++j;
        
        if ( j <= 62)
            printf("%d\n", j);
        else
            puts("such number is impossible!");
    }
    return 0;
}