如果一个正整数转化成二进制与转换成八进制后所有数位的数字之和相等,则称为数位
和相等的数。
前几个数位和相等的正整数为 1, 8, 9, 64, ……
请问第 23 个数位和相等的正整数是多少?
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = 2, b = 8;
int i = 1;
int con = 0;
while (i > 0) {
if (jinzhi(i, a) == jinzhi(i, b)) {
con++;
}
if (con == 23) {
System.out.println(i);
break;
}
i++;
}
}
public static int jinzhi(int i,int j){
int sum=0;
while(i>0){
sum+=(i%j);
i=i/j;
}
return sum;
}
}