Люди помомогите с задачей по информатике Сколько существует натуральных чисел, меньших 1024, удовлетворяющих следующему условию: если от такого числа отнять 1, то сумма цифр в двоичной записи получившегося числа окажется ровно в 2 раза больше, чем сумма цифр в двоичной записи исходного числа. В ответе укажите целое число.

30 Окт 2021 в 19:47
304 +1
0
Ответы
1

(Если правильно понял условие : кол-во цифр в бинарной записи "числа-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);

}

31 Окт 2021 в 03:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир