处理一个巨大的数,求一个好点的算法
关于对一个非常大的数列进行压缩的算法,比如数列 01H 02H 03H 04H 05H 06H
代表
1*256^5+2*256^4+3*256^3+4*256^2+5*256+6
这么大的数.
要将其转换成一个以基于900的序列,这个巨大的数目可以换算成这个基于900的式子
1*900^4+620*900^3+89*900^2+74*900+846
从而得到最终的数列
1 620 89 74 846
这样就把原来这个数列的6个元素压缩成5个.
请问如果要在某台32位计算机器上换算这样的数列,用什么算法比较好?
[此贴子已经被作者于2006-3-3 10:58:44编辑过]
搜索更多相关的解决方案:
算法
----------------解决方案--------------------------------------------------------
建议斑主 封楼上ID 到处发这广告地址干什么?
----------------解决方案--------------------------------------------------------
楼主的是什么问题啊!我怎么一点都看不明白。
----------------解决方案--------------------------------------------------------
就是一个很大的数
1*256^5+2*256^4+3*256^3+4*256^2+5*256+6
和另外一个式子
1*900^4+620*900^3+89*900^2+74*900+846
值相等.
那么随便给出一个
X1*256^5 + X2*256^4 + X3*256^3 + X4*256^2 + X5*256 + 6
这个式子同
Y1*900^4 + Y2*900^3 + Y3*900^2 + Y4*900 + Y5
相等
给出一组X1、X2、X3、X4、X5
如何得到Y1、Y2、Y3、Y4、Y5 ?
多谢!
----------------解决方案--------------------------------------------------------
有意思,没人想玩玩吗?
----------------解决方案--------------------------------------------------------
我想玩。晚上试试(只怕玩不出来)
----------------解决方案--------------------------------------------------------
贴上几组测试检证数据
----------------解决方案--------------------------------------------------------
就是类似数学里的进制问题啊。求一个数的n基数这个不难吧。
----------------解决方案--------------------------------------------------------
找到了一个数据类型uint64_t足够可以装下这么大的数,不用再找算法了.
多谢大家捧场!
----------------解决方案--------------------------------------------------------