Матч
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;
}
};