2020-06-01から1ヶ月間の記事一覧

ある数が正の約数として持つ整数の数

の時、(ただし、q,pなどはすべて素数) の正の約数は となる。 例えば80の約数を見るときに として、80の約数は10個あるのだなと分かる。 素数の組み合わせだけ倍数が存在するため、 までの となるため。

maketitleをちょっと軽めに

こちらの記事でレポート作成環境を Markdown で整えようとしたのですが、結局 LaTeX 直書きになってしまいました。 LaTeX は初めて触ったのですが、高校1年生の軽めのレポートにはいささか重いタイトルを出力してきます。 大した内容でないのにこれはちょっ…

C++ 区分化

C++

範囲を引数にとる関数はしばしばその範囲が「区分化」されていることを要求します。 区分化されているとは、おおざっぱに言えばある条件により分けられた2つの範囲が昇順に並べられている事を指します。 昇順にソートされた数列 [ 0, 2, 4, 6, 8 ] は、任意…

Vaffleとquickhlのキーマップが競合していたので直す

dein.vimを導入 と quickhl の記事で vim に Vaffle と quickhl というプラグインを導入しました。 Vaffle はシンプルなファイラーで quickhl は単語単位の複数ハイライトを可能にするプラグインです。 どちらもとても便利なのですが、 Vaffle はファイル選…

C/C++ 厳密な別名付け

C C++

この記事を読んでメモ。 明らかにおかしな参照やポインタのキャストによるアクセスはコンパイラの最適化によって無視される可能性があるよって話。 uint32_t f(uint32_t a) { uint16_t *p = &a; // uint16_t は uint32_t の別名とはなり得ない // p は a を…

Makefileのdefineはendefまでの値を持った変数を定義する

以下のコード2つは同じ。 s = Hello World! main: $(info $(s)) define s Hello World! endef main: $(info $(s))

構造体/クラスの多重定義エラーは1つの翻訳単位内で起こる

C C++

C/C++ の入門サイトや入門本でインクルードガードの説明に「構造体/クラスの多重定義を避けるため」とあるが、 main.c と sub.c でインクルードされたらどうしようもなくね?という疑問が残るだろう。 多重定義エラーはコンパイル時に起こるものなので、例え…

g++でfilesystem使おうとしたらそんなものはないと言われた

C++

以下のコードのコンパイルが通らなかった(プリプロセスでつまずいた)話。 #include <iostream> #include <filesystem> using namespace std; using namespace std::filesystem; int main() { cout << current_path() << endl; } $ g++ -std=c++17 ./main.cpp -lstdc++fs ./main.cpp</filesystem></iostream>…