編寫程序,仿照區(qū)塊鏈的實現(xiàn)原理,根據(jù)輸入數(shù)據(jù),生成類似區(qū)塊鏈的結(jié)構(gòu)
????????????編寫一個程序,仿照區(qū)塊鏈的實現(xiàn)原理,根據(jù)輸入數(shù)據(jù),生成類似區(qū)塊鏈的結(jié)構(gòu),并通過對該數(shù)據(jù)結(jié)構(gòu)的遍歷完成預(yù)定的目標(biāo);
(1)實現(xiàn)簡化的區(qū)塊鏈結(jié)構(gòu):依次輸入n個數(shù)字,要求生成包含如下內(nèi)容的區(qū)塊鏈,數(shù)據(jù)結(jié)構(gòu)如下圖所示:
1.?包含上一塊數(shù)據(jù)的存儲地址;
2.?包含本次輸入的數(shù)據(jù)x;
3.?包含輸入的序號i,i從1開始計數(shù);
4.?包含Hash值,此處簡單通過(prevHash + x?* i +?i)%?10007 得到。

?
(2) 簡單實現(xiàn)UTXO:在上述程序的基礎(chǔ)上,輸入一個數(shù)字k,遍歷建立起來的鏈表,得到所有小于等于k的x之和。
(3) 在遍歷鏈表的過程中,將所有小于k的x所存在的Block地址生成一個新的鏈表。
(4) 按照x輸入的順序,輸出x的值。
【實現(xiàn)提示】??
(1) 依次輸入x?=?1000,2000,3000,…,10000,輸出最后一個區(qū)塊的hash值;
(2) 選做(2)請注意輸出順序,可考慮使用遞歸實現(xiàn),或重新生成一個逆序的鏈表,再遍歷得到結(jié)果。