1. Multiples of 3 and 5
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
直接计算:找出范围内所有能被 3 或 5 整除的数字,再求和。边界要小心。
Total @ Select[Range[1000 - 1], Or @@ Divisible[#, {3, 5}] &]
(* 233168 *)
2. Even Fibonacci numbers
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.
Fibonacci 序列增长速度还是挺快的,试几下找到上界(40),然后选出偶数、求和:
Total @ Select[Array[Fibonacci, 40], # < 4*^6 && EvenQ[#] &]
(* 4613732 *)
3. Largest prime factor
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143?
内置功能:
FactorInteger[600851475143][[-1, 1]]
(* 6857 *)
4. Largest palindrome product
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.
枚举法。列出所有三位数的乘积,反向排列再找第一个回文数。注意 Array
会比 Table
快一些,但语法有所不同;回文数在 10.3 之后可通过内置函数 PalindromeQ
来判别。
SelectFirst[PalindromeQ] @ ReverseSort @ Catenate @ Array[Times, {899, 899}, {100, 100}]
(* 906609 *)
5. Smallest multiple
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
其实就是 1 到 20 的最小公倍数:
LCM @@ Range[20]
(* 232792560 *)
6. Sum square difference
The sum of the squares of the first ten natural numbers is,
1² + 2² + … + 10² = 385
The square of the sum of the first ten natural numbers is,
(1 + 2 + … + 10)² = 55² = 3025
Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 − 385 = 2640.
Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
中学级别的数列求和题目:
Sum[i, {i, n}]^2 - Sum[i^2, {i, n}] /. n -> 100
(* 25164150 *)
7. 10001st prime
By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
What is the 10001st prime number?
求素数都没有也配叫数学软件?
Prime[10001]
(* 104743 *)
8. Largest product in a series
The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × 8 × 9 = 5832.
73167176531330624919225119674426574742355349194934
96983520312774506326239578318016984801869478851843
…
71636269561882670428252483600823257530420752963450Find the thirteen adjacent digits in the 1000-digit number that have the greatest product. What is the value of this product?
简单做一下划分,只有 988 组,完全可以直接算。\
表示断行,即使是数字也可以断开。
Max[Times @@@ Partition[IntegerDigits[#], 13, 1]] & @
73167176531330624919225119674426574742355349194934\
96983520312774506326239578318016984801869478851843\
85861560789112949495459501737958331952853208805511\
12540698747158523863050715693290963295227443043557\
66896648950445244523161731856403098711121722383113\
62229893423380308135336276614282806444486645238749\
30358907296290491560440772390713810515859307960866\
70172427121883998797908792274921901699720888093776\
65727333001053367881220235421809751254540594752243\
52584907711670556013604839586446706324415722155397\
53697817977846174064955149290862569321978468622482\
83972241375657056057490261407972968652414535100474\
82166370484403199890008895243450658541227588666881\
16427171479924442928230863465674813919123162824586\
17866458359124566529476545682848912883142607690042\
24219022671055626321111109370544217506941658960408\
07198403850962455444362981230987879927244284909188\
84580156166097919133875499200524063689912560717606\
05886116467109405077541002256983155200055935729725\
71636269561882670428252483600823257530420752963450
(* 23514624000 *)
9. Special Pythagorean triplet
A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,
a² + b² = c²
For example, 3² + 4² = 9 + 16 = 25 = 5².
There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product abc.
既然知道存在唯一解就可以直接 Solve
了。PositiveIntegers
这样的数域是 12.0 引入的新功能。
First[a * b * c /. Solve[{a^2 + b^2 == c^2, a + b + c == 1000}, {a, b, c}, PositiveIntegers]]
(* 31875000 *)
10. Summation of primes
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
逐字把英语翻译成 Wolfram Language 即可。PrimePi[x]
表示小于等于 x
的素数数目。
Total @ Prime @ Range @ PrimePi[2*^6]
(* 142913828922 *)