C/C++/C#

C/C++/C#

C++への書き換えも一瞬 すごい!

昨日作ってもらったソースコードをChatGPTに書き換えてもらった あっという間にC++になった! #include <iostream> #include <vector> #include <fstream> #include <sst...
C/C++/C#

ESP32のGPIOについて

GPIO34以降は入力のみ
C/C++/C#

メモ:CAN割り込み中のシリアル通信

CANの割り込み処理中のシリアル通信をやりすぎると落ちる
C/C++/C#

C++で回転行列を計算する

angleとaxisを指定すれば計算できる。 #define _USE_MATH_DEFINES #include <iostream> #include <cmath> void getRotationMatrix(double angl...
C/C++/C#

C++の正規表現を使ってみる

regexを使えばできる。 以下コード #include <iostream> #include <string> #include <regex> int main() { std::string str = "12345あいうえお"; ...
C/C++/C#

C++でベルヌーイ数を求める

ベルヌーイ数を求めるには漸化式を解けばいい。 漸化式は \begin{align}B_0&=1\\B_n&=-\frac{1}{n+1} \sum_{k=0}^{n-1} {}_{n+1} C_{k} B_{k}\end{align} とな...
C/C++/C#

多倍長ライブラリのメモ

多倍長ライブラリmpirを含むデータをtupleにまとめvectorに格納するとうまくいかなくなる。
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などに変換可能。
C/C++/C#

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

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

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

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

enum classは便利

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