求助这里如何取得k>=mid时k递归的值?
查看原帖
求助这里如何取得k>=mid时k递归的值?
152652
AndyChen2005121楼主2020/10/19 18:00
#include <iostream>
using namespace std;
typedef unsigned long long ull;
ull n,k;
void solve(ull n, ull k){
    ull mid = (1 << n) >> 1;
    if(n==1){ cout << k; return;}
    if(k >= mid){
        cout << 1;
        solve(n-1, k-mid); //?
    } else {
        cout << 0;
        solve(n-1, k);
    }
}
int main(){
    cin >> n >> k;
    solve(n, k);
}

2020/10/19 18:00
加载中...