はじめに
【Project Euler】とは、プログラミングで解く数学の問題集です。
本投稿では初学者なりに、Problem1 を解くにあたっての考え方を解説しています。
ちなみに言語はRubyを用いています。
※本投稿は、Project Eulerのガイドラインに従い、解答例としてのコードは載せておりません。
また、問題に関しては私が翻訳しています。ミスがあればご指摘ください。
【Project Euler】について知りたい方はこちらから↓
問題(original ver.)
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.
問題(翻訳ver.)
10未満の数字の中で3,もしくは5の倍数は3,5,6,9の4つである。そしてその4つの数字の合計は23である。
同じように、1000未満の数字において、3の倍数と5の倍数を挙げた時、その合計はいくつになるか計算せよ。
問題を解く上でのヒント
①まずは1000未満の数字の中から、3,もしくは5の倍数を取り出すことを考えなければいけません。
言い換えると、1から順に999まで数字を見ていって、3もしくは5の倍数を、繰り返し取り出します。
つまり、繰り返し処理を使います。
繰り返し処理のメソッドに関しては説明を省きます。わからない方は検索してください。
②つぎに、そもそも3の倍数、もしくは5の倍数はどのように表現するのかを考える必要があります。
これに関しては、※代数演算子を用いると簡単に表現できます。
どの演算子を使えば良いか考えてみてください。
ヒントとしては、nの倍数 = nで割り切れる数であるということです。
以上がわかれば基本的に解ける問題かと思います。
※代数演算子ではなく、算術演算子が正しいようです( Arithmetic Operators がオリジナル)。
一部のサイトでは代数演算子として紹介されていますが、その場合は読み替えてください。
おわりに
今回は【Project Euler】の問題1を解く上での考え方、流れを解説してきました。
問題1ということもあり、基礎が分かっていれば比較的かんたんな問題だったかなと思います。
このほかにも多くの問題が存在しているので、気になる方は最下部のリンクから挑戦して見てください。
また今後、私自身その他の問題にも挑戦し、同じような備忘録を投稿していきます。
私の備忘録が少しでも皆さんの参考になれば幸いです。ありがとうございました❗
P.S. 問題を閲覧するにはアカウント登録が必要です。↑