顺丰笔试,进制为啥不对。。。
没有写-1的情况,但其他的应该可以
import java.util.*;
public class Main{
public static void main(String[] args)throws Exception{
Scanner sc=new Scanner(System.in);
String[] s=sc.nextLine().split(":");
char[] a=s[0].toCharArray();
char[] b=s[1].toCharArray();
int l=a.length;
int r=b.length;
int[] z=new int[l];
int[] x=new int[r];
for(int i=0;i<l;i++){
if(a[i]<='9'){
z[i]=(int)a[i];
}else{
z[i]=(int)(a[i]-'A')+10;
}
}
for(int i=0;i<r;i++){
if(b[i]<='9'){
x[i]=(int)b[i];
}else{
x[i]=(int)(b[i]-'A')+10;
}
}
int m=0;
int[] a1=z;
Arrays.sort(a1);
int c=a1[l-1]+1;
int n=0;
int[] b1=x;
Arrays.sort(b1);
int d=b1[r-1]+1;
int q=Math.max(c,d);
if((z[l-1]<24&&pas(z))&&(pas(x))){
System.out.print(0);
}
while(m<24){
m=0;
int j=0;
for(int i=l-1;i>=0;i--){
m+=z[i]*Math.pow(c,j);
j++;
}
c++;
}
while(n<60){
n=0;
int p=0;
for(int i=r-1;i>=0;i--){
n+=x[i]*Math.pow(d,p);
p++;
}
d++;
}
int sum=Math.min(c-2,d-2);
for(int i=q;i<sum;i++){
System.out.print(i+" ");
}
System.out.print(sum);
}
public static boolean pas(int[] a){
int m=a.length;
for(int i=0;i<m-1;i++){
if(a[i]!=0){
return false;
}
}
return true;
}
} 