问题标题:
【数学高考题.对于n∈N*,将n表示为n=a0×2^k+a1×2^k-1+a2×2^k-2+……ak-1×2+ak×2^0.a0=1,当1≤i≤k时,ai记为0或1.记I(n)为上述表示中ai为0的个数,(例如1=1×2^0,4=1×2^2+0×2^1+0×2^0,故I(1)=0,I(4)=2)则:I(12】
问题描述:
数学高考题.
对于n∈N*,将n表示为
n=a0×2^k+a1×2^k-1+a2×2^k-2+……ak-1×2+ak×2^0.a0=1,当1≤i≤k时,ai记为0或1.记I(n)为上述表示中ai为0的个数,(例如1=1×2^0,4=1×2^2+0×2^1+0×2^0,故I(1)=0,I(4)=2)则:I(12)=127∑2^I(n)=n=1
李和平回答:
①其实是将10进制的数转化为2进制,用除2取余法.于是写成了12=1×2^3+1×2^2+0×2^1+0×2^0,
则I(12)=2.
②127除2取余法得到的数为1111111(2).
左边是10进制,右边是2进制:
1=12=103=114=1005=1016=1107=1118=1000
将以上数按照位数排(2进制)得到下图:
1
1011
100101110111
10001001101010111100110111101111
.
由上图可知,每行第一个数为10...,横着看,每个数的第1位是1,以后每次1和0在后面出现,相当于用0和1排1后面的空并乘以2^n这种形式.下面以第3行为例:相当于排1口口.不含0的数有
C02(0是上标2是下标)个,即全部不选0,含1个0的数C12个,即从2个空中取1个排0,含2个0的有C22个数,即即从2个空中取2个排0.那么第3横行按题意要写出2^I(n)即C02X2^0+C12X2^1+C22X2^2,即第3行I(N)=0的数有C02个,即把C02个2^0相加,即C02X2^0.于是第三行按题意得数为C02X2^0+C12X2^1+C22X2^2=(1+2)^2=3^2.每行都可以得到3^0,3^1,3^2……3^6,最后把它们相加,3^0+3^1+3^2+.3^6=(1-3^7)/(1-3)=1093.
点击显示
数学推荐
热门数学推荐