Re: [問題] 面試遇到的程式問題,現在還想不出來(MTK)
看板Prob_Solve (計算數學 Problem Solving)作者gigiball (gigiball=睪丸 是公的)時間17年前 (2008/01/04 11:28)推噓2(2推 0噓 5→)留言7則, 7人參與討論串3/16 (看更多)
可以用數學公式來解決這個問題
試著推導出公式
0可以不用看了
1 ~ 100 中間數為50
1~ 49 為一組 51 ~ 99為一組
各組各數為49
1+99 =100
2+98 =100
3+97 =100.....以此類推
共有 49個100 加上 i<= 100 所以100再加一個 等於 50個100
加上原本的中間數 50
答案為5050
可以推導出公式為 (X^2/2) + (x/2)
i推到 150 答案為 11325
當然還可以再優化.... 在計算過程中
用位元的變化去處理上述的運算式 也是ok的
看有沒有大大還有其他解....囉.....
※ 引述《asleepme (冬天了)》之銘言:
: ※ [本文轉錄自 Tech_Job 看板]
: 作者: asleepme (冬天了) 看板: Tech_Job
: 標題: [問題] 面試遇到的程式問題,現在還想不出來...
: 時間: Sun Dec 30 13:42:09 2007
: 是當面問的
: 不過他當初是這樣講的:
: 有一個for迴圈,從0加到100
: 可是我覺得他不夠快,要怎樣才能讓他更快
: for( i=0; i<=100; i++)
: s=s+i;
: 不可以用數學公式
: 請忽略宣告或初始化的問題,我想不是重點
: 因為我當初把i=0改成i=1的時候他只是無言的笑了笑
: 請指點
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2
→
01/04 11:31, , 1F
01/04 11:31, 1F
推
01/04 14:06, , 2F
01/04 14:06, 2F
推
01/04 16:27, , 3F
01/04 16:27, 3F
→
01/04 16:41, , 4F
01/04 16:41, 4F
→
01/04 18:51, , 5F
01/04 18:51, 5F
→
01/04 22:40, , 6F
01/04 22:40, 6F
→
02/21 13:20, , 7F
02/21 13:20, 7F
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章