Решение задачи Пакеты с монетами с Codeforces

Без пояснения   Просмотров: 24


У вас есть n монет, каждая из них имеет номинал 1.

Распределите их на пакеты таким образом, что любая сумма x (1≤x≤n) может быть набрана с использованием некоторого (возможно одного или всех) количества этих пакетов.

Каждый пакет можно использовать только целиком или не использовать вовсе. Ни один пакет нельзя использовать больше одного раза, чтобы набрать одну сумму x, однако тот же самый пакет можно переиспользовать, чтобы набрать другие суммы x.

Найдите минимальное количество в пакетов в таком распределении.

Код

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n; cin>>n;
    cout<<ilogb(n)+1<<endl;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться