創始者:Colin Hughes
推出時間:October 5, 2001
歐拉計畫(Project Euler)是一個解題網站,站內提供了一系列數學題供用戶解答,解題的用戶主要是對數學和計算機編程感興趣的成年人及學生。目前該站包含了380多道不同難度的數學題,每一題都可以通過電腦程式在1分鐘內求出結果。該網站自2001年起定期增加新的題目,每題都有對應的討論區,註冊用戶在正確提交了某題的答案後才能進入該題的討論區。站內根據完成題目的數量將用戶分為6個級別,設立了6個排行榜,並用正多面體和球體來表示不同的級別。另外還設有一個歐拉人(Eulerians)排行榜,只包含在最新的25題里作出13題以上的用戶。
例題與解答
歐拉計畫的第一題是:
列舉出10以下所有3或5的倍數,我們得到 3, 5, 6 和 9。他們的和是23。
求1000以下所有3或5的倍數之和。
雖然這題比歐拉計畫大多數題目要容易的多,我們仍然可以用它來分析不同解體方法的效率。
用窮舉法來測試1000以下的所有自然數,再將它們相加就能得到這題的結果。這很容易實現,用以下兩種不同的程式語言都能很快求解出答案。
Python:
print sum(filter(lambda x:x % 3 == 0 or x % 5 == 0, xrange(1, 1000)))
C++:
#include <iostream>
using namespace std;
int main( ) {
int sum = 0;
for (int i = 0; i < 1000; i++)
if ( i % 3 == 0 || i % 5 == 0 )
sum += i;
cout << sum << endl;
return 0;
}
但如果用排容原理進行求和,就可以減少1000多次運算。
Python 實現:
def sum1toN(n):
return n * (n + 1) / 2
def sumMultiples(limit, a):
return sum1toN((limit - 1) / a) * a
sumMultiples(1000, 3) + sumMultiples(1000, 5) - sumMultiples(1000, 15)
採用這種方法,計算10,000,000以下或1000以下所花費的時間是相等的。若用大O符號來描述兩種方法的優劣,那么窮舉算法為O(n)而高效的算法為O(1)。
相關詞條
-
歐若拉公主
《歐羅拉公主》是韓國MBC於2013年5月20日起播出的日日連續劇,由金鎮浩導演,任成漢編劇,全素敏、吳昶錫、徐河俊等主演 。 該劇主要講述了大企業天王...
劇情簡介 分集劇情 演職員表 角色介紹 音樂原聲 -
長城歐拉
歐拉(GWKULLA)是長城最新開發的一款兩人座純電動新能源車,該車完全由電機驅動,小巧玲瓏、造型獨特。該車採用48V直流電機。一次充電可行駛140公里...
車系簡介 高調亮相 女性喜愛 外界評價 圖片欣賞 -
《歐若拉公主》
《歐若拉公主》劇情/動作/犯罪類型影片,上映日期:2005年10月27日(韓國)。
影片概述 影片簡介 角色介紹. 關於主演 同名電視劇劇情簡介 -
巴哈歐拉
巴哈歐拉(Bahá'u'lláh,1817年11月12日-1892年5月29日),原名 Mírzá Ḥusayn-`Alí Nuri(波斯語:میرزا...
人物經歷 人物著作 宗教來歷 宗教內容 -
歐羅拉公主
《歐羅拉公主》是韓國MBC於2013年5月20日起播出的日日連續劇,由金鎮浩導演,任成漢編劇,全素敏、吳昶錫、徐河俊等主演 。 該劇主要講述了大企業天王...
劇情簡介 分集劇情 演職員表 角色介紹 音樂原聲 -
歐克瑟
歐克瑟是國產特攝劇《鎧甲勇士拿瓦》和電影《鎧甲勇士之雅塔萊斯》中登場的怪獸人。劇中歐克瑟是一種來自宇宙中的死黑星,名為喪暴病毒的侵略形病毒所產生的變異物...
登場作品 主要劇情 角色設定 登場記錄 相關角色 -
歐陽文
歐陽文(1912—2003),湖南省平江縣人。1955年被授予中將軍銜。中國共產黨優秀黨員、久經考驗的忠誠共產主義戰士、無產階級革命家、中國人民解放軍優...
人物簡介 個人履歷 長征中邊打仗邊寫詩 飛越五嶺占黎平 四渡赤水殲頑敵 -
歐根親王號
1945年,當第二次世界大戰接近尾聲時,曾經煊赫一時的德國海軍已經變得虛弱無比,可以使用的大型水面艦隻只剩下以“打不死”著稱的“歐根親王”號重巡洋艦。這...
簡介 建造與命名 激戰丹麥海峽 從困守布雷斯特到海峽突破 艱難的挪威之行 -
歐拉APS系統
歐拉APS系統是普渡軟體旗下一款面向離散型製造業的集高級計畫排產、企業資源管理、現場執行管理於一體的生產運營管理系統。該系統覆蓋了採購管理、訂單管理、生...
適用範圍 系統功能 歐拉APS的相關問題