Problem 1, 2, 6 - Project Euler
- Problem 1
-
1,000未満の3か5の倍数の合計.
sum([i for i in range(1000) if i % 3 * i % 5 == 0])sumにsequence渡してやると全部足すので条件満たす数のみ含むlist生成してsumに渡す.これだけ.
- Problem 2
-
初項1,第2項が2であるFibonacci数列Fnに対して,Fn < 4,000,000を満たす偶数項の合計.初項から第7項くらいまで見るとわかりますが偶数項は3t+2で表現される項のみですので,それだけ足せばよい,と.
sum = 2 a, b = 3, 5 while b < 4 * 10 ** 6: sum += a + b a, b = a + 2 * b, 2 * a + 3 * b print("sum of even-valued term : {0}".format(sum)) - Problem 6
-
“和の平方”と“平方の和”の差.高校でてれば公式やってるので,計算.カウントしていくのは無駄ですし.
n = 100 print(n * (n + 1) * (3 * n ** 2 - n - 2) // 12)