Рубрики

Подсчет числа конечных нулей в двоичном представлении числа с использованием Bitset

Дали номер. Задача состоит в том, чтобы посчитать число Trailing Zero в двоичном представлении числа, используя bitset.

Примеры:

Input : N = 16
Output : 3
Binary representation of N is 1000. Therefore,
number of zeroes at the end is 3.

Input : N = 8
Output : 2

Подход: мы просто устанавливаем число в наборе битов и затем итерируем от 0 индекса набора битов, как только мы получим 1, мы разорвем цикл, потому что после этого нет завершающего нуля.

Ниже приведена реализация вышеуказанного подхода:

C ++

// C ++ программа для подсчета количества конечных нулей
// в двоичном представлении числа
// используя Bitset

  
#include <bits/stdc++.h>

using namespace std;

  
// Функция для подсчета количества конечных нулей в
// Двоичное представление числа
// используя Bitset

int CountTrailingZeros(int n)

{

    // объявляем набор битов из 64 бит

    bitset<64> bit;

  

    // установить битовый набор со значением

    bit |= n;

  

    int zero = 0;

  

    for (int i = 0; i < 64; i++) {

        if (bit[i] == 0)

            zero++;

        // если приходит «1», то перерыв

        else

            break;

    }

  

    return zero;

}

  
// Код драйвера

int main()

{

    int n = 4;

  

    int ans = CountTrailingZeros(n);

  

    cout << ans << "\n";

  

    return 0;

}

python3

# Python3 программа для подсчета
Количество конечных нулей в
# Двоичное представление числа

  
# Функция для подсчета количества
# конечные нули в двоичном
# представление числа

def CountTrailingZeros(n):

      

    # объявить битовый набор из 64 бит

    bit = bin(n)[2:]

    bit = bit[::-1]

  

    zero = 0;

  

    for i in range(len(bit)):

        if (bit[i] == '0'):

            zero += 1

              

        # если «1» приходит, то перерыв

        else:

            break

  

    return zero

  
Код водителя

n = 4

  

ans = CountTrailingZeros(n)

  

print(ans)

  
# Этот код добавлен
# Мохит Кумар

Выход:

2

Рекомендуемые посты:

Подсчет числа конечных нулей в двоичном представлении числа с использованием Bitset

0.00 (0%) 0 votes