作者wellwind (..)
看板Programming
標題Re: [問題] 面試遇到的程式問題,現在還想不出來(MTK)
時間Sat Jan 5 01:57:32 2008
for(i=102;i-=2;)
{
s += i+i-1;
}
用一半的loop會比較快嗎@@?
※ 引述《runtime (結果咧)》之銘言:
: ※ 引述《asleepme (冬天了)》之銘言:
: : 作者: asleepme (冬天了) 看板: Tech_Job
: : 標題: [問題] 面試遇到的程式問題,現在還想不出來...
: : 時間: Sun Dec 30 13:42:09 2007
: : 是當面問的
: : 不過他當初是這樣講的:
: : 有一個for迴圈,從0加到100
: : 可是我覺得他不夠快,要怎樣才能讓他更快
: : for( i=0; i<=100; i++)
: : s=s+i;
: for( i=0; i<101; i++)
: s=s+i;
: 多一個等於好像比較慢 (印象中 XD)
: : 不可以用數學公式
: : 請忽略宣告或初始化的問題,我想不是重點
: : 因為我當初把i=0改成i=1的時候他只是無言的笑了笑
: : 請指點
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.174.72.50
1F:推 SILee:其實我覺得他本來的用意就是要問unrolling 61.59.105.115 01/05 03:57
2F:→ SILee:結果大家都去想一些只能快兩三個cycle的方法 61.59.105.115 01/05 03:57
3F:推 oohay:用一半loop卻每次做兩倍計算,一樣啦 61.231.19.47 01/05 09:16
4F:推 MasterChang:題目就講不能用公式,本是要考的就是 203.67.207.240 01/05 10:36
5F:→ MasterChang:增加迴圈運作的效能,不是0加到100。 203.67.207.240 01/05 10:36
6F:→ MasterChang:這種問題有容易看出來應試者到底有沒 203.67.207.240 01/05 10:37
7F:→ MasterChang:有搞懂要問什麼。 203.67.207.240 01/05 10:37
8F:→ MasterChang:顯然大部分的人還是卡在0加到100的無 203.67.207.240 01/05 10:38
9F:→ MasterChang:限迴圈迷思之中,這問題果然是好問題. 203.67.207.240 01/05 10:38
10F:→ WPC001:to oohay,只用一半的loop但用兩倍的運算 59.117.165.183 01/05 12:50
11F:→ WPC001:還是會比較快, 因為if的次數減少了 59.117.165.183 01/05 12:50
12F:推 oohay:我倒認為問題不在搞不搞懂要問什麼218.160.115.141 01/05 15:08
13F:→ oohay:問就問,答就答,答者用不著揣測問者心態218.160.115.141 01/05 15:09
14F:→ danielguo:改 ++i, += 經過編譯時間完全一樣 220.135.50.147 01/05 20:48
15F:→ danielguo:改 for 的判斷式, 在開最佳化後幾乎一樣 220.135.50.147 01/05 20:49
16F:→ danielguo:這題目出得不好,應該問"真正"有哪些方法 220.135.50.147 01/05 20:49
17F:→ danielguo:可以增進效能, 而不是要看編譯後的 asm 220.135.50.147 01/05 20:51
18F:→ danielguo:比指令要用幾個 cycle 的東西.. 220.135.50.147 01/05 20:51
19F:→ danielguo:這些東西實際上根本不能增加多少效能呀 220.135.50.147 01/05 20:52
20F:→ danielguo:這麼基本能最佳化的東西, 編譯器的作者 220.135.50.147 01/05 21:03
21F:→ danielguo:能想到的早就通通想到了 220.135.50.147 01/05 21:03
22F:推 Ross0916:大推樓上的 XDDD 140.112.5.10 01/05 22:03
23F:推 oohay:面試題目的"好",只要能挑出正確的員工即可 59.117.134.213 01/06 00:10
24F:推 jeunder:我完全不認為這是個好題目. 61.64.225.27 01/07 02:35
25F:→ Lordaeron:loop 0加到100 可以考什麼效能, 我看不 61.229.153.118 01/23 14:43
26F:→ Lordaeron:懂呢, 請MasterChang 大師講解一下吧. 61.229.153.118 01/23 14:44