[問題] 一個小題目

看板C_and_CPP (C/C++)作者 (鼕鼕)時間16年前 (2009/06/21 19:10), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
#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

06/21 19:12, , 1F
第一行;後面好像少了什麼
06/21 19:12, 1F

06/21 19:45, , 2F
那裡沒有東西
06/21 19:45, 2F

06/22 00:06, , 3F
那可以換成一條i=0和一個等效的while
06/22 00:06, 3F
文章代碼(AID): #1AFXKtoz (C_and_CPP)
文章代碼(AID): #1AFXKtoz (C_and_CPP)