toms.log
2023/09/18
いろんな言語で素因数分解
再帰関数の比較.
Elixirで素因数分解を解く問題があったので, これをいろんな言語で書いてみた. 素因数分解を行う関数は関数の引数として与えた正の整数に対して素因数分解した配列を返す. ``` $ factors(12) [2, 2, 3] ``` Elixirの特徴を活かして再帰で実装する. ## C++17 C++ではラムダ式を使って再帰を行った. キャプチャとかもあってまあまあ複雑. 実際にこんなコードを書くことはないと思う.
## Python C++に比べてかなりシンプル. type hint は対して意味ない. Pythonだと再帰に制限がかかっている.
## Javascript 問題は整数の扱いくらい. たぶんTypescriptで書いてもほとんど変わらない.
## Elixir 本命のElixir. Elixirが得意そうな処理なので当然だが特徴的なコードになった.
--- 言語仕様に沿ってコードが書けるかということは言語仕様の設計意図を適切に読み解くことが必要.
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿