!!不是很难,想求一个好一点的算法。谢谢大家
sonyg 2006-04-10 02:23:24 一个给定的256Bit的数组
FF... B A 9 8 7 6 5 4 3 2 1 0-----(Index)
1 ... 0 1 0 0 1 1 0 1 0 1 0 0-----(Content)
要求:
(1)Content转化为Index
输入1,输出2 (第一个1的Index是2)
输入2,输出4 (第二个1的Index是4)
输入3,输出6 (第三个1的Index是6)
输入4,输出7 (第四个1的Index是7)
输入5,输出10 (第五个1的Index是10)
……
(2)Index转化为Content
输入0,输出Error (Index0 内容是0)
输入1,输出Error (Index1 内容是0)
输入2,输出1 (Index2 内容是第一个1)
输入4,输出2 (Index4 内容是第二个1)
输入6,输出3 (Index6 内容是第三个1)
输入7,输出4 (Index7 内容是第四个1)
输入10,输出5 (Index10 内容是第五个1)
……
首先要求速度,其次是再考虑内存。(最好是比那种“从头到尾循环数个数“要优秀的算法)