看板 Programming 關於我們 聯絡資訊
: int array[3G]; : int counters[64M]; : for( int i = 0; i < 3G; i++) { : counter[array[i] % 64M] ++; : } 開始擔心會不會是我問題沒看清楚 我這樣解讀你看是不是合乎你運算式的意思 counter[array[i] % 64M] ++; 所以counter中的i可以表示成 x + n*64M, 0 <= x < 64M x,n 為正整數(包括零) 然後會被 mod 掉只剩下 x 因為每個 x 都不相同 不同n但同個x時,有同時計算的可能性 所以 for( int i=0; i < (3G/64M); i++){ OpenMP for (int j = 0; j< 64M; j++){ counter[ array[j+i*64M] % 64M] ++; } } 這樣不知道是不是合乎你的需求? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.96.207
mantour:怎麼覺得還是會打架@@140.112.213.158 05/20 05:50
dryman:啊啊,打架應該是靠array[i]而不是i 114.42.96.207 05/20 07:32
dryman:我腦袋有洞... 114.42.96.207 05/20 07:32
LPH66:我就在搞不懂明明算的是 array[i] 的值 140.112.250.80 05/20 08:23
LPH66:怎麼你的回文都以為是算 i .... 140.112.250.80 05/20 08:24
dryman:真的超蠢的 orz|||| 114.42.96.207 05/20 10:07