Project Eulerというオンライン上の計算プログラム向けの数学問題集をご存知でしょうか?
プログラミングで必須となる基礎数学やアルゴリズムの勉強を行う上で、とても有用なサービスです。
本サービスの何が優れているかというと、その問題の質と解説資料の充実っぷりにあります。
本記事では、無料で質の高いプログラミング・アルゴリズムが学べる最強のサービス、Project Eulerの魅力に迫ります!
Project Eulerとは
Project Eulerとは、上述の通り、プログラミング&アルゴリズムが学べるオンライン上の数学問題集です。
本家は海外サイトなのですが、有志らによる日本語翻訳ページもあります。
一筋縄では解けない頭の体操となるような数学的問題のオンパレードです。
その問題の数は増え続けており、2018年現在600問を超えております!
Project Eulerの特徴:問題の質の高さ
問題が良問であるのはもちろんなのですが、特に素晴らしい点は、問題を解き進むにつれて徐々に難しくなっていくということです。
そして、難易度が上がっていく過程で、以前解いた問題のアルゴリズムを上手に応用すると解けるような問題が頻出することです。
これにより、前に進み続けるだけでも計らずとも復習が行え、前に学んだことを活用・応用することで、自らのプログラミング&アルゴリズム構築能力のレベルアップを実感することができます。
Project Eulerの特徴:質・量ともに充実した解説資料
更に、各問題には解いた人にしか読めない解説資料がpdfで用意されており、その解説資料が質・量ともに充実しております。
解答例も幾つか載っており、後半に行くにつれてより高度であるがエレガントで高効率な手法が学べます。この後半の模範解答の数学的な美しさが素敵です。
英語が全くできないという方は日本語翻訳ページにて問題をチェックし、本家サイトで解答を入力すれば正誤の確認はできます。
ただし、上記の通り素晴らしい解説資料は英語でかかれていますので、多少は英語を読めるという方は頑張ってこれを読むことをお勧めします。
解説資料は各問ごとに数ページ分のボリュームがあるので、英語の勉強にもうってつけです。
Project Eulerの使い方
Project Eulerの使い方はいたって簡単です。
まず、本家サイトのRegisterにてUsernameとPasswordを設定してアカウントを作成します。
あとは、Archivesにて好きな問題を選びます。最初のうちは、一番簡単な1問目から順に解いていくことをお勧めします。
問題が解けたら、問題の解答を数字で送信するだけなので、解く際に使用するプログラミング言語はなんでもOKです。
正解であれば、Progress画面で解いた問題にチェックマークが付き、議論スレッドと解説資料が読めるようになります。
議論スレッドではガチな人たちによる英語での議論を垣間見ることができ、ちょっとアカデミックな空気に触れることが出来ます。
まとめ
プログラミング能力やアルゴリズム構築能力だけでなく、数学と英語という基幹能力をも鍛えることができる、最強の無料オンラインサービスProject Eulerの魅力と使い方をご紹介しました。
プログラミング、アルゴリズムの初心者の方や、これから計算科学を使って自然科学の研究に勤しもうという学生の方、好奇心旺盛な社会人の方などにおすすめしたいサービスです。
毎日少しずつでも解く習慣をつければ、一年後には相当な実力がついていることでしょう。
10000時間の法則というものもありますし、継続の力を信じて正しい道を歩み続けるのみですね!
AIプログラミングが無料でできるGoogle Colaboratory関連記事:
【Google Colaboratory】無料GPUでAI体験可能!Google Colabの特徴
【Google Colaboratory】15分で出来る!GPUを用いたAI利用環境設定
コメントを書く