Люди помомогите с задачей по информатике Сколько существует натуральных чисел, меньших 1024, удовлетворяющих следующему условию: если от такого числа отнять 1, то сумма цифр в двоичной записи получившегося числа окажется ровно в 2 раза больше, чем сумма цифр в двоичной записи исходного числа. В ответе укажите целое число.
(Если правильно понял условие : кол-во цифр в бинарной записи "числа-1" должно быть равно 2 * кол-во цифр в бинарной записи "числа".
Все чисел - 21.
Код:
public static void main(String[] args) throws InterruptedException {
int num= 0;
for (int i = 1; i < 1024; i++) {
if (Integer.toBinaryString(i-1).replaceAll("0", "").length() == 2*Integer.toBinaryString(i).replaceAll("0", "").length()){
System.out.println("number: "+i);
System.out.println("Bin: "+Integer.toBinaryString(i));
System.out.println("Bin - 1: "+Integer.toBinaryString(i-1));
num++;
}
}
System.out.println("total: "+num);
}