找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1097|回复: 13
收起左侧

求教一个算法问题 有两个9位数A和B, 有什么方法通过A,B得到的C

[复制链接]
ID:705846 发表于 2024-1-12 17:34 | 显示全部楼层 |阅读模式
有两个9位数A和B, 有什么方法通过A,B得到的C,并且在未知A和B的情况下,通过计算C还原A和B。
回复

使用道具 举报

ID:883242 发表于 2024-1-12 23:54 | 显示全部楼层
C只要有18位,知道A和B的组合方式就可以还原。如果A、B是9位数任意值且C不足18位,那么有效信息早就丢失,无法还原。
回复

使用道具 举报

ID:69038 发表于 2024-1-13 06:24 | 显示全部楼层
做不到。。因为不知道通过什么方法得到的C,只能在你的认知范围内去猜~~仅此而已。
比如有个数1234567890,你知道这个数值是咋来的?会不会是我随手打出来的?
还是通过123456789*10得到的?或是12345678900÷10?或是617283945*2?
回复

使用道具 举报

ID:857072 发表于 2024-1-13 08:41 来自手机 | 显示全部楼层
未知值,未知计算方法。那鬼知道怎么还原。
回复

使用道具 举报

ID:705846 发表于 2024-1-13 13:30 | 显示全部楼层
我有一个初步设想,
假如我有一个A:123456789,  一个B: 234567890,
通过计算:B+1=C, B-A=D,
我知道公式,就可以在只知道C的情况下,通过C-1获取B,通过C-1-D获得A,
是否可行呢。
回复

使用道具 举报

ID:1073939 发表于 2024-1-13 15:32 | 显示全部楼层
C=(A<<16)|B

A=(C>>16)&0x01ff
B=C&0x01ff
回复

使用道具 举报

ID:705846 发表于 2024-1-13 18:56 | 显示全部楼层
ydatou 发表于 2024-1-13 15:32
C=(A16)&0x01ff
B=C&0x01ff

搞不懂,讲讲看。
回复

使用道具 举报

ID:69038 发表于 2024-1-13 21:43 | 显示全部楼层
samxon 发表于 2024-1-13 13:30
我有一个初步设想,
假如我有一个A:123456789,  一个B: 234567890,
通过计算:B+1=C, B-A=D,

那你又如何知道C=B+1、D=B-A的呢?你手里已知的只有一个C啊。
回复

使用道具 举报

ID:844772 发表于 2024-1-14 08:20 来自手机 | 显示全部楼层
沙发已经说了,就是A乘以十的九次方加上B得C C除以十的九次方取整就是A
回复

使用道具 举报

ID:584814 发表于 2024-1-15 17:30 | 显示全部楼层
简单的办法就是弄个18位数C出来,前9后9就可以
回复

使用道具 举报

ID:69038 发表于 2024-1-16 11:01 | 显示全部楼层
glinfei 发表于 2024-1-14 08:20
沙发已经说了,就是A乘以十的九次方加上B得C C除以十的九次方取整就是A

“并且在未知A和B的情况下,通过计算C还原A和B”
顶楼的题目一开始就限定了A与B未知。。。。
56=34+22;或56=88-32;56=33+23....。
所以C=X(+-×÷ &|~)Y,都有可能。
这个二元一次方程不好解啊。

然后在5#又破了顶楼的防了:
“知道公式,就可以在只知道C的情况下,通过C-1获取B,通过C-1-D获得A”
其实5楼还是二元一次方程,因为B-1=C,而B-A又等D,已知C,则B可算出,还有2个未知A和D
这贴可以啊~~
回复

使用道具 举报

ID:1099162 发表于 2024-1-16 19:33 | 显示全部楼层
乘法加密算法:

将A和B相乘得到C:C = A * B。
通过对C进行运算,如将C除以一个已知的数或对C进行模运算,可还原出A和B。
异或运算加密算法:

将A和B进行异或运算得到C:C = A ^ B(^表示异或)。
再次进行异或运算:C ^ A = B。
同样地,C ^ B = A
回复

使用道具 举报

ID:883242 发表于 2024-1-16 23:36 | 显示全部楼层
samxon 发表于 2024-1-13 13:30
我有一个初步设想,
假如我有一个A:123456789,  一个B: 234567890,
通过计算:B+1=C, B-A=D,

你把D扔了无法恢复出A
回复

使用道具 举报

ID:69038 发表于 2024-1-17 11:27 | 显示全部楼层
众知,所有的运算公式都要至少要有2个运算元(A、B),如:A(+-×÷ &|~)B=C ,如果只知一个运算元,那么这个C(运算结果)是给不出的。
一元方程可解,二元方程,只有一个等式(公式)是解不了的,而二元方程组可以用消元的方式,变成一元方程....

可楼主给出的条件就一个运算元(或再加一个运算公式),请填空:88 -()=(),
答案不是唯一的,那算能解不?
期待大神来指点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表