看板 Soft_Job 關於我們 聯絡資訊
※ 引述《hanck ( )》之銘言: : void main(int n) : { : if n==33 execute func1; : if n==67 execute func2; : if n==324 execute func3; : if n==231 execute func4; : if n==687 execute func5; : } void 麵 () { void (*f[8])() = { 0, func1, 0, func2, func3, func4, 0, func5 } ; f[n%8]() ; } -- To iterate is human, to recurse, divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.114.4
xam:這個厲害, 看得出來題目設計過 06/12 01:01
Jeffxx:所以其實第一題是提示XD 06/12 01:04
yoco315:嗯 提示提很大 06/12 01:06
guest0079:取餘數會比較快嗎 直接用三層if可能比較快 原題也說用if 06/12 01:13
ibmibmibm:(x % 8) == (x & 7) 06/12 01:14
ibmibmibm:不過(231%8) == (687%8)耶@@ 06/12 01:20
ibmibmibm:看來改%16就可以了 06/12 01:22
bobhsiao:%8 compiler 應該會最佳化吧 06/12 06:59
final01:錄取了 06/12 11:02
yoco315:謝謝樓上賞識 qq 06/12 13:05
xlk:f[~n&16](); 06/12 14:14
xlk:15才對@@ 算是小改進 06/12 14:21
xlk:f[n&15>>1](); 哈.. 06/12 14:29
xlk:f[n>>1&15](); precedence.. :( 這題目不用明確比較? 06/12 15:20
motocyman:厲害! 一眼就看出規則 06/12 20:54
chialang:bit[3:1] 三個 bit 就能區分了 06/13 00:39
arenda:取%會比if快嗎? 06/13 16:41
arenda:抱歉 % powers of 2 C compiler會自動最佳化 06/13 18:34
liptonbin:好強阿 你想多久阿 06/14 20:59
bobhsiao:原 PO 應該是直覺反應吧不用想多久的 06/15 07:30