プログラミング

C/C++/C#

mpirを使ってウィルソンの定理を計算する

ウィルソンの定理は\(p\)が素数ならば \begin{align}(p-1)! \equiv =-1(mod p)\end{align} が成り立つ定理である。今回はwikipediaにある表をmpirを用いて計算した。
C/C++/C#

C++で素数の数を求める

素数の数は \begin{align}N(n) =\sum_{k=1}^{m} \left \lfloor \cos^2 \frac{(n-1)! + 1}{n} \pi \right \rfloor \end{align} で求められる。
C/C++/C#

C++で素数判定

その数が素数かどうかは \begin{align}isprime(n) = \left \lfloor \cos^2 \frac{(n-1)! + 1}{n} \pi \right \rfloor \end{align} で判定できる
C/C++/C#

mpirで再帰関数を定義する

mpirで再帰関数を使うにはmpz_tで定義した数値をmpz_ptrで返す必要がある。 mpz_ptrはmpz_tのポインタである。 例
C/C++/C#

mpirライブラリを使って計算した階乗の計算結果をcsvに保存する

通常の数値と同じ。
C/C++/C#

多倍長整数ライブラリを使った階乗の計算

MPIRを使った。インストールはここ。 今回は階乗を計算した。 結果はこうなる。
C/C++/C#

sortを使ったpairを併用しているときのvectorのソート

sortとbegin、endを併用する
C/C++/C#

C++でvectorを表示する

unsigned long long int 型で作られたvectorを表示する。
C/C++/C#

C++でpairで作られたlistをCSVで保存する

C++でpairで作られたlistをCSVで保存する。 読み込んで放り込めばいい。
C/C++/C#

C++でlistをCSVで保存する

C++でlistをCSVで保存する。 string型のfile名とunsigned long long intのリストを渡せば保存できる。 unsigned long long intはintなどに変換可能。
python

Pythonで多次元配列にアクセスする

見たほうが早い
python

Pythonでガウス記号を定義する

floorを使えばいい。
C/C++/C#

Σの公式を計算する その2

C++でΣの公式を計算する。今回計算する公式は次の通り。 \begin{align}\sum_{k=1}^{n} k^3 = \left \{ \frac{n(n + 1)}{2} \right \}^2\end{align} 以下コード
python

numpyで行列の積を計算する

np.dot(A, B)でできる。
python

Pythonでxが原点周りのときのy=sin xのグラフ

\(y=\sin x\)は\(x\)が十分小さい時、\(y=x\)と近似できることが知られている。一周期分を取り出せば 2つのグラフのズレはこんな感じ。 たしかに小さいとよく一致している。
MATLAB/simulink

matlabでArmijo条件を試してみる

Armijo条件は最急降下法などの係数を最適にする方法で、ここを参考にmatlabを試した。 収束の様子は次の通り。 学習係数の変化 文献はこの辺が詳しい
C/C++/C#

C++でポケモンの速度判定を作る

ポケモンの速度判定は異なる場合はより数値の大きな方、同じ場合はランダムになる。 今回はCoin.getCoinValue()でコイントスを行う関数を実装し同速の場合の判定を作った。 なお、arrayで作っているのはダブルバトル等への拡張を容...
C/C++/C#

enum classは便利

enum class は列挙型の一種で名前衝突の回避ができる。 使うときは型名::列挙子とする。
C/C++/C#

ソースコードをgistに登録して技相性のCSVデータを公開してみた

gistへの登録は色々なサイトにあるので割愛。 今回はポケモンの技相性のcsvデータを登録した。
python

大学入学共通テスト2023のIIBの問1(2)

問1(2) \(\sin 2x\)と\(\sin x\)の値の大小関係を詳しく調べよう。 \begin{align}\sin 2x - \sin x = (□ \cos x - □)\end{align} であるから\(\sin 2x - ...