精華區beta Tech_Job 關於我們 聯絡資訊
是當面問的 不過他當初是這樣講的: 有一個for迴圈,從0加到100 可是我覺得他不夠快,要怎樣才能讓他更快 for( i=0; i<=100; i++) s=s+i; 不可以用數學公式 請忽略宣告或初始化的問題,我想不是重點 因為我當初把i=0改成i=1的時候他只是無言的笑了笑 請指點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.82.90
skylight55:可以請問是哪家公司問的嗎? 12/30 13:45
juc:換快一點的clock....哈 開個玩笑 12/30 13:47
poga:++i 12/30 13:49
allstarschh:這是高斯的國小數學老師問的嗎?? @.@ 12/30 13:49
bitspirit:用遞迴?? 12/30 13:50
bxxl:改成迴圈做十次,一圈做十個加法/ 12/30 13:51
asleepme:我講一下可能大家會認真點,MTK 12/30 13:52
asleepme:請問++i跟i++為什麼在速度上會有差? 12/30 13:53
stealk:parallel programming? 12/30 13:53
asleepme:遞迴會更慢吧... 12/30 13:53
purejack:把迴圈展開? 12/30 13:54
asleepme:平行計算喔,我不太懂耶,可以解釋清楚點嗎? 12/30 13:54
asleepme:bxxl這也是滿特別的,我一直覺得他是要加速迴圈效果 12/30 13:55
itkg:<= 改為 < ?? 12/30 13:57
bxxl:如果你在程式裡直接寫1加到100,compile time可能就做好了 12/30 13:57
asleepme:itkg,這可能也是一個,可以麻煩大家解釋一下為什麼可以嗎? 12/30 13:58
mitsc:用組語 inline方式完成? 12/30 14:02
bxxl:來點trick? 比方把個位數十位數拆開來加 12/30 14:06
bxxl:0~9在個位數用了十次,在十位數也用了十次 12/30 14:13
david220:for (i = 100; i; --i) s += i; //會快一點點 12/30 14:29
iArien: s += 5050 (  ̄ c ̄)y▂ξ 12/30 14:28
aziende:可想想這個C Code變成ARM後是怎樣 就可以知道他要問什麼了 12/30 15:31
aziende:不過應該以後不會有人拿這個問題出來考了..... 12/30 15:32
xsonic:請愛用loop unfolding 12/30 23:21
holyspectral:s+=5050 <--這個應該是正解吧... 12/31 14:03
jej:小弟愚昧...s如果是其他func..又不和i有作用...其實沒有必要 12/31 22:05
jej:和這個迴圈跑?? 這迴圈單純的跑完loop i 100後...在和s結合?? 12/31 22:06