一个简单的算法问题,有接单的么

2019-12-24 10:24:15 +08:00
 yokosovtoex
1. 时间:xxxx 年 xx 月 xx 日 xx 时 + xxxx 个小时 + 1-6 中某一个数字 + 八位数字 如:20200520160020588888888
通过算法加密生成一个 八位数字的 密码;输入这八位数字密码可以反编译出之前输入的信息;

2.xxxx 年 xx 月 xx 日 xx 时 + 1-7(一周七天某一天) + xx 小时-xx 小时( 05 点到 12 点) + 1-6 中某一个数字 如:2020052016305125
通过算法加密生成一个 九位数字的 密码;输入这九位数字密码可以反编译出之前输入的信息;

语言不限
1458 次点击
所在节点    外包
18 条回复
Mistwave
2019-12-24 10:42:45 +08:00
亲亲,没有呢,建议了解一下信源编码定理哦
yoshiyuki
2019-12-24 10:46:33 +08:00
源数据是 23 位数字,冗余不多,要求无损压缩成 8 位数字,应该是没可能了,换成 8 位 ascii 码就好办一些
zw1one
2019-12-24 10:59:13 +08:00
亲亲,这边建议数据建个表,来存时间字段和密码字段奥~
lbyo
2019-12-24 11:02:34 +08:00
亲亲,这边建议搜索一下“简单”的定义呢~
shyrock
2019-12-24 11:04:28 +08:00
有个现成的算法你可以试试看 https://github.com/philipl/pifs
Sunyanzi
2019-12-24 11:06:31 +08:00
个人觉得 ... 在根本没有能力评估需求的难度时直接就说问题「简单」 ... 真是个讨厌的行为 ...

这两道题 ... 第一道我可以证明无解 ... 即根本不可能做出来 ... 谁来做都不行 ... 神仙都没辙 ...

第二道如果年份在上下五百年内我能做 ... 但我收费不便宜 ...
shyrock
2019-12-24 11:13:08 +08:00
第一题,光是最后 8 位随机数字就已经不可能压缩到比 8 位数字更小了。。。
第二题,应该可以压缩几位,能否压到 9 位存疑。
yokosovtoex
2019-12-24 11:15:51 +08:00
好吧,简单打个引号~~~~~~~~
shyrock
2019-12-24 11:16:27 +08:00
第二题,总共有 252,483,840 种可能,貌似真能压缩到 9 位。
ctrl
2019-12-24 12:10:31 +08:00
建议去这个社区发帖试试: https://eleduck.com/
goobai
2019-12-24 12:46:06 +08:00
nullref
xcstream
2019-12-24 14:14:01 +08:00
建议 hash +数据库
jimrok
2019-12-24 16:44:46 +08:00
1.xxxx 年 xx 月 xx 日 xx 时 + xxxx 个小时 + 1-6 中某一个数字 + 八位数字可能的组合已经超过了[0-99999999], 所以不可能有算法。
2. 按照年在 100 年内,大概有 149990250009600 种可能,也放不进一个 9 位数里。

最后问一下,放进 8 位数,放进 9 位数是怎么来的?拍脑子吗?为啥不是放进 2 位数里?根据什么给出来的?
shenqi
2019-12-25 09:57:05 +08:00
我额外增加悬赏 100 块。谁做出来了,顺路发我一下,我来学习学习吹下牛皮。
TomVista
2019-12-25 12:11:16 +08:00
@shenqi 在这位的基础上加 50 块,专利记得填我的名字
zgl263885
2019-12-25 17:05:26 +08:00
明盘
raysonlu
2019-12-26 10:37:56 +08:00
如果包含小写字母就真的简单了
dallaslu
2019-12-26 18:39:49 +08:00
第一个应该是无解的。第二个应该很容易。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/631742

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX