第18场小白入门赛(蓝桥杯)

第 18 场 小白入门赛

6 武功秘籍

考察进制理解。

对于第 i i i 位,设 b i t i = x bit_i=x biti=x ,每一位的最大值是 b j b_j bj ,也就是说每一位是 b j + 1 b_j+1 bj+1 进制 ,那么第 i i i 位的大小就是 x × ∑ j = i + 1 l a s ( b j + 1 ) x\times \sum_{j=i+1}^{las} (b_j+1) x×j=i+1las(bj+1)

据此推导。

#include
using namespace std;
#define int long long

void solve(){
   
    int n, k;
    cin >> n >> k;
    if(k == 1){
   
        cout << "0\n";
        return ;
    }
    -- k;
    vector<int> bit;
    while(n){
   
        bit.push_back(n % 10);
        n /= 10;
    }
    vector<int> t(bit.size() + 1);
    // for(auto &x : bit) cout <

你可能感兴趣的:(Tutorial,蓝桥杯,算法)