作為乙個神秘的電腦高手,farmer john 用二進位制數字標識他的奶牛。
然而,他有點迷信,標識奶牛用的二進位制數字,必須只含有k位「1」 (1 <= k <= 10)。 當然,每個標識數字的首位必須為「1」。
fj按遞增的順序,安排標識數字,開始是最小可行的標識數字(由「1」組成的乙個k位數)。
不幸的是,他沒有記錄下標識數字。請幫他計算,第n個標識數字 (1 <= n <= 10^7)。
輸入第1行:空格隔開的兩個整數,n和k。
輸出如題,第n個標識數字
輸入樣例
7 3輸出樣例
組合,暴力,推演?
不停尋找個lln,使 lln位填k位的方案數 < n <= lln+1位填k位的方案數(就是說第n大的數在lln位數中最大的數和lln+1位數中最大的數中間),然後在lln+1位填上1,用n減去lln作新的n,然後尋求的k減去1.
#include
#define lll long long
lll n,k;
lll ans[
10000001];
lll c
(lll nn, lll mm)
lll cl
(lll ln, lll kk)
++lln;
//少於,加多一位試試
}return lln;
}int
main()
奶牛編號 組合數
description 作為乙個神秘的電腦高手,farmer john 用二進位制數字標識他的奶牛。然而,他有點迷信,標識奶牛用的二進位制數字,必須只含有k位 1 1 k 10 當然,每個標識數字的首位必須為 1 fj按遞增的順序,安排標識數字,開始是最小可行的標識數字 由 1 組成的乙個k位數 不...
奶牛的編號
題目 題目描述 有n 1 n 1000 頭奶牛,它們都被標上乙個優先等級編號 1,2或3。用來表示它們喝水時的優先次序,編號為l的最優先,編號為2的其次,編號為3的最後。每天奶牛開始時排成一行,但總是很亂,需要你把它們重新排成編號為1的奶牛在最前面,編號為2的其次,編號為3的奶牛在最後。你能計算出最...
奶牛的編號 UPCOJ 3578
題目描述 有n 1 n 1000 頭奶牛,它們都被標上乙個優先等級編號 1,2或3。用來表示它們喝水時的優先次序,編號為l的最優先,編號為2的其次,編號為3的最後。每天奶牛開始時排成一行,但總是很亂,需要你把它們重新排成編號為1的奶牛在最前面,編號為2的其次,編號為3的奶牛在最後。你能計算出最少需要...