こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Rubyで素因数分解ができるPrime.prime_divisionメソッドについて
- Prime.prime_divisionメソッドとは
- Prime.prime_divisionメソッドを使ったサンプルプログラム
と、この記事で丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
Rubyのインストールは、下の記事をご参考ください。
Prime.prime_divisionメソッドとは
Prime.prime_divisionメソッドとは、引数の数を素因数分解して結果を配列で返すメソッドです。
返ってくる配列は
1 |
[[【素数1】, 【何乗するか】], [【素数2】, 【何乗するか】], …] |
という内容です。
Prime.prime_divisionメソッドを使うには
1 |
require 'prime' |
を宣言する必要があります。
require関数は、ライブラリや外部ファイルを読み込むことができる関数です。
詳しくはこちらの記事をご参考ください。
使い方サンプルは以下です。
1 |
result = Prime.prime_division(8) |
実行後はresultには
1 |
[[2, 3]] |
という配列が返されます。
意味は「2の3乗」になります。
注意点として、引数に設定する値に0はできないという点です。
もし
1 |
result = Prime.prime_division(0) |
のように引数に0を指定して実行した場合
1 2 3 4 |
Traceback (most recent call last): 2: from prime_prime_division_sample.rb:3:in `<main>' 1: from C:/Ruby26-x64/lib/ruby/2.6.0/forwardable.rb:230:in `prime_division' C:/Ruby26-x64/lib/ruby/2.6.0/prime.rb:206:in `prime_division': ZeroDivisionError (ZeroDivisionError) |
とエラーとなるので、ご注意ください。
では、次の章で実際に使ってみます。
Prime.prime_divisionメソッドを解説するプログラムの概要
Prime.prime_divisionメソッドを解説するプログラムでは
- 3
- 8
- 100
の3パターンでPrime.prime_divisionメソッドを実行して動作を確認します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
require 'prime' puts "■Prime.prime_divisionメソッドサンプル" puts num3 = 3 puts "・3の場合" result_division3 = Prime.prime_division(num3) puts "#{num3}の素因数分解:#{result_division3}" puts num8 = 8 puts "・8の場合" result_division8 = Prime.prime_division(num8) puts "#{num8}の素因数分解:#{result_division8}" puts num100 = 100 puts "・100の場合" result_division100 = Prime.prime_division(num100) puts "#{num100}の素因数分解:#{result_division100}" |
実行結果
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
1 2 3 4 5 6 7 8 9 10 |
■Prime.prime_divisionメソッドサンプル ・3の場合 3の素因数分解:[[3, 1]] ・8の場合 8の素因数分解:[[2, 3]] ・100の場合 100の素因数分解:[[2, 2], [5, 2]] |
素因数分解ができていることが確認できました。
まとめ:Prime.prime_divisionメソッドを使ってみよう!
以上がPrime.prime_divisionメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント