組合 奶牛編號

2021-10-09 03:43:10 字數 721 閱讀 7558

作為乙個神秘的電腦高手,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的奶牛在最後。你能計算出最少需要...