整数の合同
提供:kuhalaboWiki
演算表
- 加法表の書き出し
nt mod = 5; //法とする自然数
size(500, 500);
float scalar = (float) width / mod; //拡大比率
for (int i = 0; i < mod; i++){
for (int j = 0; j < mod; j++){
int num = (i + j) % mod; //数の計算
PVector v = new PVector(j, i); //マスの位置
v.mult(scalar);
fill(255); //マスを白くする
rect(v.x, v.y, scalar, scalar); //マスの描画
fill(0); //数字を黒くする
textSize(scalar);
text(num, v.x, v.y + scalar); //数字の表示
}
}
- 乗法表の書き出し
nt mod = 5; //法とする自然数
size(500, 500);
float scalar = (float) width / mod; //拡大比率
for (int i = 0; i < mod; i++){
for (int j = 0; j < mod; j++){
int num = (i * j) % mod; //乗法表の場合
PVector v = new PVector(j, i); //マスの位置
v.mult(scalar);
fill(255); //マスを白くする
rect(v.x, v.y, scalar, scalar); //マスの描画
fill(0); //数字を黒くする
textSize(scalar);
text(num, v.x, v.y + scalar); //数字の表示
}
}
- べき乗法表の書き出し
int mod = 7;
size(500, 500);
float scalar = (float) width / (mod - 1);
int num;
for (int i = 1; i < mod; i++){
num = i; //iの1乗
for (int j = 1; j < mod; j++){
PVector v = new PVector(j - 1, i - 1); //マスの位置
v.mult(scalar);
fill(255);
rect(v.x, v.y, scalar, scalar); //マスを描画
fill(0);
textSize(scalar);
text(num, v.x, v.y + scalar); //iのj乗をマスに表示
num = (num * i) % mod; //numをiの(j+1)乗に更新
}
}