C/C++/C#

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>voidgetRotationMatrix(doubleangle,doublea...
C/C++/C#

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

regexを使えばできる。以下コード#include<iostream>#include<string>#include<regex>intmain(){std::stringstr="12345あいうえお";std::smatchsmst...
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(modp)\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を表示する

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

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

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

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

C++でlistをCSVで保存する。string型のfile名とunsignedlonglongintのリストを渡せば保存できる。unsignedlonglongintは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は便利

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

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

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