Матч 206, Биты (Bits)

Дивизион 2, Уровень 1

 

По заданному натуральному числу n определить количество цифр в его двоичном представлении.

 

Класс: Bits

Метод: int minBits(int n)

Ограничения: 1 £ n £ 106.

 

Вход. Натуральное число n.

 

Выход. Количество цифр в двоичном представлении числа n.

 

Пример входа

n

32

1500

1

 

Пример выхода

6

11

1

 

 

РЕШЕНИЕ

элементарные вычисления

 

Делим число n на 2 до тех пор, пока оно не станет раным нулю. Подсчитываем число итераций – оно равно количеству цифр в двоичном представлении числа n.

 

ПРИМЕР

3210 = 1000002, двоичное представление числа 32 содержит 6 цифр.

 

ПРОГРАММА

 

#include <stdio.h>

 

class Bits

{

public:

  int minBits(int n)

  {

    int res = 0;

    while(n > 0)

     n = n / 2, res++;

    return res;

  }

};