package test;
import java.util.*;
public class jinzhi2023 {
public static void main(String[] args) {
int sum = 0;
int i =1;
while(sum<=2023) {
if(modS(i,2)&&modS(i,8)&&modS(i,10)&&modS(i,16)) {
sum++;
}
if(sum==2023) {
System.out.println(i);
sum++;
}
i++;
}
}
public static Boolean modS(int n,int jinzhi) {
//二进制 八进制 十进制 十六进制
String m = Integer.toString(n, jinzhi);
int count = 0;
for(int i=0; i<m.length(); i++) {
count = count + Character.getNumericValue(m.charAt(i));
}
if(n%count==0) {
return true;
}
return false;
}
}
应该算是非常简单的方式了