Project Euler 将问题断章取意,然后将其放入供人们解决。欧拉计划不能有效地教你任何东西。我认为您应该忘记它,如果它很受欢迎,那并不意味着什么。你不能通过 Project Euler 学习数学,因为它只包含你应该知道的用于解决问题的点点滴滴(以及一些相当高级的部分)。学习数学意味着考虑一个主题并阅读有关它的书并解决练习或阅读解决方案,这就是您学习数学的方式。如果碰巧通过您的阅读,您会发现一些接近欧拉项目的东西,你的运气,但否则欧拉项目完全是浪费时间。我认为花时间选择一个特定的数学分支并研究它要好得多。让我解释一下原因:我解决了 3 个非常高级的 Projec Euler 问题,它们都在利用我碰巧拥有的数论知识,因为我研究了其中的一部分。我认为我没有从 Project Euler 中学到任何东西,只是碰巧我已经知道了一些数论并解决了问题。
例如,如果您发现自己喜欢数论,请选择 H. Davenport -> Hardy & Wright -> Kenneth & Rosen's ,研究这些。如果您喜欢 Graph Theory,请阅读 Reinhard Diestel 的免费书籍并学习(或查看 books.google.com 并找到更适合您的口味),但不要仅仅因为 Project Euler 有问题而将注意力分散在 999999 方向上从动态编程到高级几何或高级数论,这显然是错误的方法,它不会让你更接近你的目标。
这听起来非常无聊
嗯......当你发现一些你喜欢的问题并且你想找到解决方案时,并且当你有足够的时间在不在电脑屏幕后进行反思时,数学并不无聊. 数学主要是用笔和纸完成的(是的,您可以使用计算机..但这并不是重点)。
所以,如果你发现了一个现实世界的问题,或者一些编程问题,如果你知道一些高级数学会受益,并且你知道你必须学习什么数学,那么以这种方式学习会很有动力。
如果您觉得自己没有动力,就很难正确学习。
还有一个问题是当你说learn时你的实际意思是什么。解决一本书章节末尾的问题后,学习过程是否停止?好吧,你决定。您可以认为您已经完成了该主题的学习,或者您可以认为您尚未完成并阅读更多相关信息。整本书都只涉及一个方程及其变体。
无需正式培训即可学习的与编程相关的数学数量有限,但绰绰有余。但也许你可以自学。
这一切都归结为您的资源和动力。
要了解数学,您必须做数学而不是编程(欧拉项目)。