看板 C_and_CPP 關於我們 聯絡資訊
#include<iostream> #include<fstream> using namespace std ; void main(){ ifstream data("b.txt") ; char num[100] ; int spilt ; int total = 0 ; int sum = 0 ; char temp[100] ; data.getline(num,100,'\n') ; data >> spilt ; cout << num << endl << spilt << endl ; # for(int i=0;i<strlen(num);){ # for(int j=0;j<spilt;j++){ # temp[j] = num[i++] ; # } # total += atoi(temp) ; } cout << "Ans=" << total << endl ; } 雜湊(hashing)是用來計算一個鍵值(key value)對應之索引(index)的方法,而「折疊法」 4 是雜湊函數的方法之一,假設有一個鍵值為5120969190600791,而折疊的長度為3, 折疊的計算過程如下,首先鍵值先依照折疊長度加以切割,由於鍵值有16 個數字,每3 個數字進行切割的話,可以切出6 段,如下所示: 512 096 919 060 079 1 接著這些數值進行加總就可以得到所需要的索引1667,如下所示: 512+096+919+060+079+1=1667 所以請撰寫一個程式從b.txt 中讀入兩行資料,第一行是鍵值的字串,第二行是折疊的 長度,接著輸出索引的結果。 範例輸入: 5120969190600791 3 範例輸出: 5120969190600791 3 Ans=1667 ##我想問的是#那5行在做什麼 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.162.118.189
winterboy209:第一行;後面好像少了什麼 06/21 19:12
LPH66:那裡沒有東西 06/21 19:45
MOONRAKER:那可以換成一條i=0和一個等效的while 06/22 00:06