0
0

More than 3 years have passed since last update.

【Project Euler】 Problem3 【解いてみた】

Last updated at Posted at 2021-03-17

はじめに

【Project Euler】とは、プログラミングで解く数学の問題集です。

本投稿では初学者なりに、Problem3 を解くにあたっての考え方を解説しています。
ちなみに言語はRubyを用いています。

※本投稿は、Project Eulerのガイドラインに従い、解答例としてのコードは載せておりません。
 また、問題に関しては私が翻訳しています。ミスがあればご指摘ください。
  
【Project Euler】について知りたい方はこちらから↓

問題(original ver.)

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

問題(翻訳ver.)

13195の素因数は5,7,13,29である。
600851475143の素因数で最大のものを求めよ。

問題を解く上でのヒント

①まず600851475143の素因数を求めることを考えます。
素因数に関してrubyではPrimeクラスという便利なものがあります。
はじめにrequireでモジュールをインポートするだけで使えます。

②primeをインポートしたら実際に素因数をもとめます。
素因数分解には、prime_divisionメソッドを用いると良いです。
使い方は割愛します。

③正しく実行すると、[[素因数,n乗],[素因数,n乗]...]
といった形で値が出力されます。あとは、それぞれの素因数同士で大きさを比べるだけで解けます。

おわりに

今回は【Project Euler】の問題3を解く上での考え方、流れを解説してきました。
Primeクラスが便利すぎて、知ってさえいれば一瞬で解けてしまいます。
この問題を通してまた一つ知識・技術を学べました。

このほかにも多くの問題が存在しているので、気になる方は最下部のリンクから挑戦して見てください。
また今後、私自身その他の問題にも挑戦し、同じような備忘録を投稿していきます。
私の備忘録が少しでも皆さんの参考になれば幸いです。ありがとうございました❗

P.S. 問題を閲覧するにはアカウント登録が必要です。↑

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0