62,614
社区成员
发帖
与我相关
我的任务
分享
public static int only01(int n) {
int[] arr = {1};
int[] tmp;
while(true) {
tmp = new int[arr.length*2];
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
if(arr[i] % n == 0)
return arr[i]/n;
tmp[i*2] = arr[i]*10;
tmp[i*2+1] = tmp[i*2] + 1;
}
arr = tmp;
}
}
// 给定正整数N,求最小的正整数M,使N*M十进制表示中只有0和1.
public static int only01(int n) {
int m = 0;
while(!checkOnly01(++m*n)) ;
return m;
}
public static boolean checkOnly01(int i) {
while(i > 0) {
if(i%10 >= 2)
return false;
i /= 10;
}
return true;
}