作者mabus (CodeINCEPTION)
看板Prob_Solve
标题Re: [问题] 一个数字用两个字表示的方法
时间Sat Jan 22 19:32:58 2011
有不用这种用数学进制转换的方式吗?
原本有想过一些方法,
把数字丢到矩阵里,想说接下能用什麽方法简化(应该也可以说是压缩吧?),
可是学艺不精,暂时还联想不到...。
还有用代换的方式,例如12345....,换成12=a,34=b...这一类的方法,
可是代换一层之後就不能再继续了,会无法还原...。
还有用加减乘除,例如123,分解成100+20+3,或是200-86,还其他的,
可是我还是找不出关系。
或是配合以上未完成的方法,搭配现实环境常态常数做组合,
例如年月日之类的,可是想到一半就想不下去了...。
若是限定5位数到6位数,浓缩成2位数,这有可能吗?
本身不是学电脑工程的,所以对这方面知识很有限,
在解决这个问题的过程里,我看到一个叫做熵的概念,
好像是资料混乱的程度的指标。
也就是说,若是限定数字的范围缩小,混乱的程度可以降低吧?
如此可能性能提升吧?
以上想法,若是有问题,就请各位大大当笑话看吧...。
还是请各位大大指点一下,该怎麽想比较好。
先谢谢各位的答覆了!
※ 引述《rosepong (香)》之铭言:
: ※ 引述《mabus (CodeINCEPTION)》之铭言:
: : 如题
: : 有一个任意数字(阿拉伯数字),要用两位数来表示,
: : 这两位数可用英文大小写及数字表示,
: : 有麽思路可以提供吗?想好久都想不出来。
: : 例:
: : 21365436546464=Cx
: : 87464165498=X5
: : 10000024=5a
: : 10=0a
: : 以上是示意的表示,也就是随便设的,
: : 类似这样,但是实际上我还找不出规律..。
: : 有相关的文献,或是思路可以提供吗?
: : 还是这是不可能的?
: : 若是任意数不行,那五位数或是六位数可以吗?
: : 烦请各位指教了,感谢!
: 那你把它想成是36进制0123456789abcdefghijklmnopqrstuvwxyz
: 任意数大概做不到
: 两位数只能处理26^2
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.224.71.229
1F:→ mabus:有限的数据似乎无法处理无限的数据,范围缩小应该可行吧? 01/22 19:39
2F:推 ledia:不可行 01/22 20:11
3F:推 ledia:1-1 and onto, 两边集合的数量要一样多 01/22 20:14
4F:→ ledia:压缩指的是把常用的 code 换成较短的 code 来表示 01/22 20:15
5F:→ ledia:但仍然需符合一对一的关系才能完备 01/22 20:16
6F:→ ledia:否则你把 2 用来称呼 50, 那麽真的有 2 出现的话怎麽办 ? 01/22 20:17
7F:推 awashharp:这想法感觉已经扯到压缩的概念了 试想把无限大小压成2KB 01/26 01:29
8F:→ awashharp:可能会有这样的理想状态吗? 01/26 01:30
9F:→ TeaEEE:这个想法有点像是先用Huffman编码来压缩 01/26 11:36