Skip to content

Latest commit

 

History

History
102 lines (61 loc) · 6.42 KB

README-zh_CN.md

File metadata and controls

102 lines (61 loc) · 6.42 KB

语言

English | 简体中文

简介

本项目包含了我个人对欧拉计划的翻译和解答。

本项目仅供个人学习交流使用。如果你发现任何不当行为,请立即联系作者举报

如何使用本项目

你可以在下面的表格中找到所有解答,但我不建议你直接抄答案!

本项目是一个 Maven 项目。代码中包含了用 Java 实现的解答步骤,项目中的测试用例可以直接运行。

关于数学公式

请安装以下 Chrome 浏览器插件以保证项目中的 LaTeX 和 Mathjax 表达式正常显示。

题目列表

序号 标题 答案 性能
1 3 或 5 的倍数 233168 低于 10 ms
2 斐波那契数列中的偶数 4613732 低于 10 ms
3 最大质因数 6857 低于 10 ms
4 最大回文乘积 906609 低于 20 ms
5 最小公倍数 232792560 低于 10 ms
6 平方和与和平方之差 25164150 低于 10 ms
7 第 10001 个质数 104743 低于 5 s
8 数列中的最大乘积 23514624000 低于 10 ms
9 毕达哥拉斯三元组的一个特例 31875000 低于 10 ms
10 质数的和 142913828922 低于 50 ms
11 矩阵中相邻数的最大乘积 70600674 低于 10 ms
12 三角形数的因数数量 76576500 低于 150 ms
13 大数求和 5537376230 低于 50 ms
14 最长考拉兹数列 837799 低于 1 s

未完待续……

知识储备

因数

因数是一个常见的数学名词,用于描述非零整数 a 和整数 b 之间存在的整除关系,即 b 可以被 a 整除。这里我们称 b 是 a 的倍数, a 是 b 的因数、约数或因子。

如果你对因数有更多的疑问,请参见因数

如何求因数

找出某数的最小因数,除之取其商。反复执行即可。参见本项目实现

你也可以求助于因数分解计算器

每个大于1的自然数,要么本身就是质数,要么可以写为2个或以上的质数的积,而且这些质因子按大小排列之后,写法仅有一种方式。

因数的数量

因数的数量等于其各个质因数的幂指数加一再相乘。使用幂指数来计算是因为因数的可能组成方式是各个质因数的出现次数,需要加一的原因则是质因数可以出现 0 次。

详见计算因数的数量

质数

在大于 1 的自然数中,除了 1 和该数自身外,无法被其他自然数整除的数。

如果你对质数有更多的疑问,请参见质数

如何判断一个数是否质数

判断最小因数是否等与自身。参见本项目实现

质数筛是一种复杂度为 $O(n log log n)$ 的质数生成算法。其步骤如下:

  1. 创建一个 2 到 n 的自然数列:$(2, 3, 4, ..., n)$。
  2. 将 p 初始化为 2,即最小的质数。
  3. 将数列中所有 p 的倍数都标记为非质数(除了 p 本身)。
  4. 将 p 置为数列中第一个大于 p 的未被标记的值,即下一个质数。然后重复步骤 3,直到全部数字都被标记为止。
  5. 当上面的循环终止时,如果数列中还存在没有被标记的数字,那么它们都是质数。

参见本项目实现

回文数

回文数或迴文数是指一个像 14641 这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。

如果你对回文数有更多的疑问,请参见回文数

如何判断一个数是否回文

依次判断首尾数字是否相同。参见本项目实现

毕达哥拉斯定理

勾股定理,又称毕达哥拉斯定理、商高定理、新娘座椅定理、百牛定理,是平面几何中一个基本而重要的定理。勾股定理说明,平面上的直角三角形的两条直角边的长度(古称勾长、股长)的平方和等于斜边长(古称弦长)的平方。反之,若平面上三角形中两边长的平方和等于第三边边长的平方,则它是直角三角形(直角所对的边是第三边)。

如果你对毕达哥拉斯定理有更多的疑问,请参见毕达哥拉斯定理