一个方法用来转换进制,一个方法用来求和,最后判断三种进制的和是否相等
public class Main {
public static void main(String[] args) {
int n=1000;
while (n<10000){
int a=n%10;//个位
int b=n/10%10;
int c=n/100%10;
int d=n/1000;
int sum1=a+b+c+d;
int res1[]=transform(n,12);
int res2[]=transform(n,16);
int sum2=verify(res1);
int sum3=verify(res2);
if(sum1==sum2&&sum1==sum3){
System.out.println(n);
}
n++;
}
}
public static int[] transform(int a, int d){ //d:进制
int b[]=new int[5];//用来接收进制转换后的数
int i=0;
while (a>0){
b[i]=a%d;
a=a/d;
i++;
}
return b;
}
public static int verify(int a[]){ //求和
int sum=0;
for(int i=0;i<4;i++){
sum+=a[i];
}
return sum;
}
}