28 lines
887 B
Java
28 lines
887 B
Java
public class SelfDescribingNumbers{
|
|
public static boolean isSelfDescribing(int a){
|
|
String s = Integer.toString(a);
|
|
for(int i = 0; i < s.length(); i++){
|
|
String s0 = s.charAt(i) + "";
|
|
int b = Integer.parseInt(s0); // number of times i-th digit must occur for it to be a self describing number
|
|
int count = 0;
|
|
for(int j = 0; j < s.length(); j++){
|
|
int temp = Integer.parseInt(s.charAt(j) + "");
|
|
if(temp == i){
|
|
count++;
|
|
}
|
|
if (count > b) return false;
|
|
}
|
|
if(count != b) return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public static void main(String[] args){
|
|
for(int i = 0; i < 100000000; i++){
|
|
if(isSelfDescribing(i)){
|
|
System.out.println(i);
|
|
}
|
|
}
|
|
}
|
|
}
|