タグ

Pythonとalgorithmに関するempitsu88のブックマーク (2)

  • N番目の素数を求める - すぎゃーんメモ

    SNSなどで話題になっていたので調べてみたら勉強になったのでメモ。 環境 Pythonでの実装例 例1 例2 例3 エラトステネスの篩 Rustでの実装例 試し割り法 エラトステネスの篩 アトキンの篩 おまけ: GMP Benchmark 高速化のテクニック 上限個数を見積もる Wheel factorization オチ Repository References 環境 手元のMacBook Pro 13-inchの開発機で実験した。 2.8 GHz Intel Core i7 16 GB 2133 MHz LPDDR3 Pythonでの実装例 例1 最も単純に「2以上p未満のすべての数で割ってみて余りが0にならなかったら素数」とする、brute force 的なアプローチ。 import cProfile import io import pstats import sys def m

    N番目の素数を求める - すぎゃーんメモ
  • Python (SymPy) で方程式・連立方程式を解く、数列を求める - pianofisica

    今回はプログラミング言語Pythonを使って方程式・連立方程式を解いてみたいと思います。数式処理ライブラリSymPyを使って代数的に厳密に解く方法をみていきます。また、漸化式から定まる数列について、その各項を求める方法もみていきます。 SymPyのごく基的な使い方については以下の記事を参照してください: pianofisica.hatenablog.com 代数方程式 1次方程式 2次方程式 3次方程式 4次方程式 5次方程式 方程式の数値解 連立1次方程式 2変数の場合 3変数の場合 連立方程式 微分方程式 漸化式 代数方程式 多項式(変数と定数について有限回の和と積をとったもの)同士を等号で結んだ方程式を代数方程式といいます。代数方程式の解として表される数を代数的数といいます。したがって整数、有理数、そして などの無理数は代数的数です。 代数的数でない数は超越数と呼ばれます。同様に、

    Python (SymPy) で方程式・連立方程式を解く、数列を求める - pianofisica
  • 1