「NOIP模拟赛」奶牛编号

2014年10月29日3,0400

「问题描述」

作为一个神秘的电脑高手,Farmer John 用二进制数字标识他的奶牛。
然而,他有点迷信,标识奶牛用的二进制数字,必须只含有K位“1”

(1 <= K <= 10)。 当然,每个标识数字的首位必须为“1”。
FJ按递增的顺序,安排标识数字,开始是最小可行的标识数字

(由“1”组成的一个K位数)。
不幸的是,他没有记录下标识数字。请帮他计算,第N个标识数字

(1 <= N <= 10^7)。

「输入」

第1行:空格隔开的两个整数,N和K。

 

「输出」

如题,第N个标识数字

 

「输入输出样例」

cowids.in cowids.out
7 3 10110

题解

裸的搜索似乎能拿很多分

注意特判K=1的情况即1后面都是0。。。

利用找规律或者递推算出答案中的0的个数。。。

然后直接搜索

 

avatar
  Subscribe  
提醒