1. 程式人生 > >number 的單調性證明

number 的單調性證明

發現 末尾 定義 證明 num 函數 個數 n+2 奇數

給定整數 m,k,求出正整數 n 使得 n+1,n+2,…,2n 中恰好有 m 個數 在二進制下恰好有 k 個 1。


解:

依題意

定義0~n中在二進制下恰有k個1的數的個數為f(n,k)

所以原式所求為f(2n,k)-f(n,k)

將1~n中所有數擴大一倍變為2,4,6,...2n

發現二進制下的1的個數不變

所以f(2n,k)-f(n,k)=0~2n中符合條件的奇數個數

因為奇數的末尾一定為1

所以f(2n,k)-f(n,k)=f(n-1,k-1)

顯然這是一個隨n單調不減的函數

就可以二分啦

number 的單調性證明