找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1894|回復: 13
收起左側(cè)

求教一個算法問題 有兩個9位數(shù)A和B, 有什么方法通過A,B得到的C

[復制鏈接]
ID:705846 發(fā)表于 2024-1-12 17:34 | 顯示全部樓層 |閱讀模式
有兩個9位數(shù)A和B, 有什么方法通過A,B得到的C,并且在未知A和B的情況下,通過計算C還原A和B。
回復

使用道具 舉報

ID:883242 發(fā)表于 2024-1-12 23:54 | 顯示全部樓層
C只要有18位,知道A和B的組合方式就可以還原。如果A、B是9位數(shù)任意值且C不足18位,那么有效信息早就丟失,無法還原。
回復

使用道具 舉報

ID:69038 發(fā)表于 2024-1-13 06:24 | 顯示全部樓層
做不到。。因為不知道通過什么方法得到的C,只能在你的認知范圍內(nèi)去猜~~僅此而已。
比如有個數(shù)1234567890,你知道這個數(shù)值是咋來的?會不會是我隨手打出來的?
還是通過123456789*10得到的?或是12345678900÷10?或是617283945*2?
回復

使用道具 舉報

ID:857072 發(fā)表于 2024-1-13 08:41 來自觸屏版 | 顯示全部樓層
未知值,未知計算方法。那鬼知道怎么還原。
回復

使用道具 舉報

ID:705846 發(fā)表于 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 發(fā)表于 2024-1-13 15:32 | 顯示全部樓層
C=(A<<16)|B

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

使用道具 舉報

ID:705846 發(fā)表于 2024-1-13 18:56 | 顯示全部樓層
ydatou 發(fā)表于 2024-1-13 15:32
C=(A16)&0x01ff
B=C&0x01ff

搞不懂,講講看。
回復

使用道具 舉報

ID:69038 發(fā)表于 2024-1-13 21:43 | 顯示全部樓層
samxon 發(fā)表于 2024-1-13 13:30
我有一個初步設想,
假如我有一個A:123456789,  一個B: 234567890,
通過計算:B+1=C, B-A=D,

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

使用道具 舉報

ID:844772 發(fā)表于 2024-1-14 08:20 來自觸屏版 | 顯示全部樓層
沙發(fā)已經(jīng)說了,就是A乘以十的九次方加上B得C C除以十的九次方取整就是A
回復

使用道具 舉報

ID:584814 發(fā)表于 2024-1-15 17:30 | 顯示全部樓層
簡單的辦法就是弄個18位數(shù)C出來,前9后9就可以
回復

使用道具 舉報

ID:69038 發(fā)表于 2024-1-16 11:01 | 顯示全部樓層
glinfei 發(fā)表于 2024-1-14 08:20
沙發(fā)已經(jīng)說了,就是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 發(fā)表于 2024-1-16 19:33 | 顯示全部樓層
乘法加密算法:

將A和B相乘得到C:C = A * B。
通過對C進行運算,如將C除以一個已知的數(shù)或?qū)進行模運算,可還原出A和B。
異或運算加密算法:

將A和B進行異或運算得到C:C = A ^ B(^表示異或)。
再次進行異或運算:C ^ A = B。
同樣地,C ^ B = A
回復

使用道具 舉報

ID:883242 發(fā)表于 2024-1-16 23:36 | 顯示全部樓層
samxon 發(fā)表于 2024-1-13 13:30
我有一個初步設想,
假如我有一個A:123456789,  一個B: 234567890,
通過計算:B+1=C, B-A=D,

你把D扔了無法恢復出A
回復

使用道具 舉報

ID:69038 發(fā)表于 2024-1-17 11:27 | 顯示全部樓層
眾知,所有的運算公式都要至少要有2個運算元(A、B),如:A(+-×÷ &|~)B=C ,如果只知一個運算元,那么這個C(運算結(jié)果)是給不出的。
一元方程可解,二元方程,只有一個等式(公式)是解不了的,而二元方程組可以用消元的方式,變成一元方程....

可樓主給出的條件就一個運算元(或再加一個運算公式),請?zhí)羁眨?8 -()=(),
答案不是唯一的,那算能解不?
期待大神來指點。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表