Problem 001
10未満の自然数のうち, 3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり, これらの合計は 23 になる.
同じようにして, 1000 未満の 3 か 5 の倍数になっている数字の合計を求めよ.
Answer 001 (Python)
よりよい解答を@shiracamusさんからコメント欄に頂いていますのでそちらをご覧頂くのが良いと思います!
import numpy as np
class Problem1:
NUM = 1000
def main(self):
data = np.array([i for i in range(1, self.NUM) if self.isMultipleOf3Or5(i)])
print(data.sum())
def isMultipleOf3Or5(self, num):
if num % 3 == 0: return True
if num % 5 == 0: return True
return False
if __name__ == '__main__':
p = Problem1()
p.main()
(参考) Project Euler とは
Project Euler はプログラミングで数学の問題を解くサイトです。問題は600問以上あるので、勉強に使うのも良し、楽しむのも良しです。
サイトに登録すれば、解答を submit することができ、その場であっているか判定してくれます。
また、問題だけであれば、日本語に翻訳された Wiki もあるのでそちらを見ながらやると捗ると思います。