標準テンプレートライブラリのアルゴリズムヘッダファイル<alogorithm>をつかってみよう アルゴリズムとはある目的を達成するための手順です

ソーラー「


標準テンプレートライブラリには


アルゴリズムヘッダファイル<alogorithm>


というものが用意されています


それをつかってプログラムを実行してみましょう」


マックス「標準テンプレートライブラリには


クラステンプレートや


関数テンプレートが


用意されているんだろう


だから


標準🍓テンプレート🍓ライブラリというわけだ」


ソーラー「そうなんです」


マックス「異世界テンプレートライブラリ


には


ストーリー展開テンプレートや


キャラクターテンプレートが


用意されている


つまり


ストーリー



キャラクターの


         "ひながた"


が用意されているというわけだ


"ひながた"を用いれば


簡単にストーリーや


キャラクターを作製することができるわけだ



だから


異世界🍋テンプレート🍋ライブラリという名前な


わけだ」


ソーラー「そうなんです


アルゴリズムヘッダファイル<alogorithm>を


インクルードすると


便利な関数テンプレートが使用できるようになります」


マックス「アルゴリズム?


便利な関数テンプレート?」


てんC「アルゴリズムとは


ある目的を達成するための手順のことです」



マックス「アルゴリズムとは


ある目的を達成するための手順?


例えば


C++言語をマスターするための手順もアルゴリズムなのか?」


てんC「うふふ


C++言語をマスターするための手順がアルゴリズムかどうか・・・ですか😊


素敵な質問ですね


それは・・・



ソーラー「いいな それ


そういう質問はみんなも喜ぶんじゃないかな?」



てんC「そうですね


とりあえず


アルゴリズムとは


ある目的を達成するための手順なんです


例えば


24と36


の最大公約数


(つまり24と36の両方を割り切れる最大の数)


は12ですが


みなさんなら


どのようにして


最大公約数をもとめられますか?


24と36を


素因数分解して

(素因数分解とはある整数を


1と素数の掛け算で表すことです)


24=1×2×2×2×3

36=1×2×2×3×3

  👆 👆 👆   👆


24と36の共通の項


1,2,2,3


を取り出して掛け合わせ


1×2×2×3=12


を求める方法をとられますか?


いろいろな方法が考えられますね


えっ


なぜ


12が最大公約数になるかですか?


12は


24と36を構成している共通のすべての素因数


1,2,2,3


を掛け合わせたものです


ですから


12は


24と36を割り切ることができますね


24=12×2

36=12×3


というわけです


ということは


もう


24と36を構成している共通の素因数はもうないというわけです


24=12×2

36=12×3


24を構成している他の残りの素因数2を12に掛け合わせた


12×2


では


36=12×3


を割ることはできませんね


逆に


36を構成している他の残りの素因数3を12に掛け合わせた


12×3


では


24=12×2


を割ることはできませんね


ですから


12

最大公約数になるというわけです


このように


最大公約数は


2つの整数を素因数分解して


共通の素因数をすべて取り出して


掛け合わせるという手順をとれば求めることができます


この手順が


アルゴリズム


というわけです


つまり


この手順


アルゴリズムをもちいれば


2つの整数の最大公約数を求めることができるというわけです」


ソーラー「あ、なるほど


アルゴリズムとはそういうものなんだね」



てんC「さらに参考にウィキペディアのアルゴリズムに関する


説明を引用してみたいと思います


とてもいい説明なんですよ


以下 ウィキペディアより

👇


アルゴリズム(英: algorithm [ˈælgəˌrɪðəm])とは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。算法と訳されることもある。


「問題」はその「解」を持っているが、アルゴリズムは正しくその解を得るための具体的手順および根拠を与える。さらに多くの場合において効率性が重要となる。


コンピュータにアルゴリズムをソフトウェア的に実装するものがコンピュータプログラムである。人間より速く大量に計算ができるのがコンピュータの強みであるが、その計算が正しく効率的であるためには、正しく効率的なアルゴリズムに基づいたものでなければならない。



ソーラー「とってもわかりやすい


いい説明だね


そういえば


コンピュータを使って


円周率πの小数点以下の数値を


何万桁も求めるということが


行われているよね


その目的を達成するアルゴリズムはいろいろあるんだけど


効率のいいアルゴリズムだとより短い時間で


円周率πの小数点以下の数値を


何万桁も求めることができるというわけなんだね」







  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る