注册 登录
编程论坛 数据结构与算法

怎样算出该算法

funyh250 发布于 2014-06-30 14:04, 710 次点击
输入 18019617815-------------输出 C90381 (16进制)
输入 18012509150-------------输出 32ECB9
......等等可以得到很多数据

有没有办法算出它是怎么转换的?(如果不是随机产生的)

我的思路:
   1.输入一个数18019617815
   2.while(1)
    {
        我猜测的转换算法    //每次循环算法发生改变
        最后转换成S
     if( S == C90381)break;
    }

感觉这个问题有点意思 分享下
7 回复
#2
wp2319572014-06-30 14:30
恐怕不行吧
#3
funyh2502014-06-30 14:42
回复 2 楼 wp231957
要是老是猜不中不知道要循环多久
#4
wp2319572014-06-30 14:44
问题是你没办法对算法进行测试啊
如果你认为已知的算法有N种的话   那我就能弄出N++种  光凭猜测  累死也猜不出来
#5
wp2319572014-06-30 14:50
我举个简单例子

1        228
2        1199
3        5710
4        19989
5        55352
6        129763
7        269394
8        510185
9        899404
10        1497207
11        2378198

我可以告诉你  后面一列的数据 是根据前面一列的数据 用多项式计算后得到的结果
请你把这个多项式猜出来吧
#6
funyh2502014-06-30 14:55
下一题:
   有5个海盗,按照等级从5到1排列,最大的海盗有权提议他们如何分享100枚金币。但其他人要对此表决,如果多数反对,那他就会被杀死。他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?(提示:有一个海盗能拿到98%的金币)
#7
funyh2502014-06-30 15:56
找到答案了
#8
vvvcuu2014-07-09 10:58
第一个问题用多项式插值拟合行吗?
1