素数粉 发表于 2008-12-1 21:53:43

问下列排列的二进制数它的通式?

下列正整数的二进制表示
0      0000
1      0001
2      0010
3      0011
4      0100
5      0101
6      0110
7      0111
8      1000
9      1001
10      1010
11      1011
12      1100
13      1101
14      1110
15      1111
它的通式2^n-1=2^n-1+2^n-2+2^n-3+...2^0
问下列排列的二进制数它的通式?
0      0000
1      0001
3      0011
2      0010
4      0100
5      0101
7      0111
6      0110
8      1000
9      1001
11      1011
10      1010
12      1100
13      1101
15      1111
14      1110

liangbch 发表于 2008-12-2 11:43:04

不明白你说的是什么意思,显然,公式 $2^(n-1)=2^(n-1)+2^(n-2)+2^(n-3)+...2^0 $是不成立的.如果是求数列通项公式,那么应该类似这样的公式, 数列 $a_n= f(n)$, f(n)是一个函数,对于第一个数列 如数列从$a_0$开始,则$a_n=n$

liangbch 发表于 2008-12-2 11:48:07

第二个数列的公式,
$a_n=( i % 4<2)? n:n ~ 1 $, ~表示异或

素数粉 发表于 2008-12-2 12:27:02

更正: 取消上列通式

我想问的是:
1.十进制转二进制数的通用公式,
2. 问下列排列的十进制二进制数通用公式,已重新排列
0      0000
1      0001
3      0011
2      0010
6      0110
7      0111
5      0101
4      0100
12      1100
13      1101
15      1111
14      1110
10      1010
11      1011
9      1001
8      1000

liangbch 发表于 2008-12-2 12:39:56

很奇怪你为什么提出这个奇怪的问题。一个数转化为2进制,写一个函数即可,为什么要搞个什么 通项公式 呢

素数粉 发表于 2008-12-2 12:58:05

其实下列二进制数排列的秘密就是从上而下逐行变化只有一位数从0变1或从1变0,
这其实就是光栅刻录的方法,可以避免按常规顺序排列,其最大数逐行变化位数太多,而引起的误差。
问十进制转二进制数下列排列顺序号通用公式
排列顺序号
0          0       0000
1          1      0001
2          3       0011
3          2       0010
4          6       0110
5          7       0111
6          5       0101
7          4       0100
8          12   1100
9          13   1101
10      15   1111
11      14   1110
12      10   1010
13      11   1011
14      9       1001
15      8       1000

medie2005 发表于 2008-12-2 13:23:34

Gray code.
G(n)=n^(n/2) [^表示异或].
比如,G(7)=7^3=4.

gxqcn 发表于 2008-12-2 15:19:44

楼上给的规律很不错!:b:

medie2005 发表于 2008-12-2 15:47:05

具体推导过程可以看我csdn上的blog中的taocp卷四的读书笔记第一篇.

素数粉 发表于 2008-12-2 18:28:53

排列顺序号
0          0       0000
1          1      0001
2          3       0011
3          2       0010
.          .         .
.          .         .
.          .         .
15      8       1000
16      ?       ?
31      ?       ?
32      ?       ?
63      ?       ?
它的二进制数是多少?对应的十进制数又是多少?
最好把任意位置排列顺序号求对应的二进制数的通项公式表出来。
页: [1] 2
查看完整版本: 问下列排列的二进制数它的通式?