数列(sequence) 的二进制应用
【问题描述】
给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是:
1,3,4,9,10,12,13,…
(该序列实际上就是:30,31,30+31,32,30+32,31+32,30+31+32,…)
请你求出这个序列的第N项的值(用10进制数表示)。
例如,对于k=3,N=100,正确答案应该是981。
【输入文件】
输入文件sequence.in 只有1行,为2个正整数,用一个空格隔开:
k N
(k、N的含义与上述的问题描述一致,且3≤k≤15,10≤N≤1000)。
【输出文件】
输出文件sequence.out 为计算结果,是一个正整数(在所有的测试数据中,结果均不超过2.1*109)。(整数前不要有空格和其他符号)。
【输入样例】
   3 100
【输出样例】
981
 
【解题过程】
  ______二进制解题
  初次见到这题、很囧,因为据说它涉及到二进制的东东,而我对于进制转换这东西是最迷糊的,所以我费了整整一个下午来搞它。
  首先、进制转换的东西是必须知道的
  下面是从百度百科上copy的关于二进制的某些东东___突然感觉我很佩服莱布尼茨
 <在德国图灵根著名的郭塔王宫图书馆(Schlossbiliothke zu Gotha)保存着一份弥足珍贵的手稿,其标题为:
  “1与0,一切数字的神奇渊源。这是造物的秘密美妙的典范,因为,一切无非都来自上帝。”
  这是德国天才大师莱布尼茨(Gottfried Wilhelm Leibniz,1646 - 1716)的手迹。但是,关于这个神奇美妙的数字系统,莱布尼茨只有几页异常精炼的描述。用现代人熟悉的话,我们可以对二进制作如下的解释:
  2^0 = 1
    2^1 = 2
    2^2 = 4
    2^3 = 8
    2^4 = 16
    2^5 = 32
    2^6 = 64
    2^7 = 128
  以此类推。
  把等号右边的数字相加,就可以获得任意一个自然数。我们只需要说明:采用了2的几次方,而舍掉了2几次方。二进制的表述序列都从右边开始,第一位是2的0次方,第二位是2的1次方,第三位时2的2次方……,以此类推。一切采用2的成方的位置,我们就用“1”来标志,一切舍掉2的成方的位置,我们就用“0”来标志。这样,我们就得到了下边这个序列:
  1 1 1 0 0 1 0 1
  2的7次方
    2的6次方
    2的5次方
    0
    0
    2的2次方
    0
    2的0次方

    128
    +
    64
    +
    32
    +
    0
    +
    0
    +
    4
    +
    0
    +
    1
    =
   229
  在这个例子中,十进制的数字“229”就可以表述为二进制的“11100101”。任何一个二进制数字最左边的一位都是“1”。通过这个方法,用1到9和0这十个数字表述的整个自然数列都可用0和1两个数字来代替。0与1这两个数字很容易被电子化:有电流就是1;没有电流就是0。这就是整个现代计算机技术的根本秘密所在。>
 
 分析样例:
n               3^0  3^1  3^2  3^3   ……
1(3^0):       1
2(3^1):       0    1
3(3^0+3^1):    1    1
4 (3^2):         0    0    1
5 (3^0+3^2):     1    0    1
6 (3^1+3^2):     0    1    1
7 (3^0+3^1+3^2): 1    1    1
.    .           .    .    .
.    .           .    .    .
.    .           .    .    .
 由上面的分析可知,我们可以把第n个数看做3^0、3^1、3^2……这些数的和的形式,那么到底是3^0、3^1、3^2……中的那些数的和呢,我们用0、1来表示:0——没有对应数,1——有对应数。怎么得到相应的“0”和“1”呢?这就用到了十进制转换为二进制
  <十进制转二进制
  · 十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)
       例: (89)10 =(1011001)2
             2 89 ……1
             2 44 ……0
             2 22 ……0
           2 11 ……1
             2 5 ……1
             2 2 ……0
             1 >