前項の続き。色の濃淡で、table を使って書くようにしたのが次である。
#include <stdio.h> #include <stdlib.h> main(int argc, char* argv[]) { int i, j, m; if (argc != 2) { return 1; } m = atoi(argv[1]); puts("<html><body>"); puts("<table>"); for (i = 1; i < m; i++) { puts("<tr>"); for (j = 1; j < m; j++) { int n = i * j % m * (255 / (m - 1)); printf("<td bgcolor=\"#%02x%02x%02x\">", n, n, n); if (i == j) { printf("<font color=\"#%02x%02x%02x\">々</font>", n, n, n); } else { printf(" "); } puts("</td>"); } puts("</tr>"); } puts("</table>"); }
引数を「24」とすると次が出力される。
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 | ||||||||||||||||||||||
々 |
m を 48 にしたのが次。何やら不思議な模様が浮かびあがっている。
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 | ||||||||||||||||||||||||||||||||||||||||||||||
々 |
付) 文字数を少なくするため、本当に文字がはいっているのは対角線のみとし、 あとは を入れている。 if (i == j) が文字をいれるかどうかの分岐だが、 m が素数の場合に限るなら if (i * j % m == 1) としてもよい。 m が 17 のとき
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 | |||||||||||||||
々 |
々 | ||||||||||||||
々 | ||||||||||||||
々 | ||||||||||||||
々 | ||||||||||||||
々 | ||||||||||||||
々 | ||||||||||||||
々 | ||||||||||||||
々 |
2008-02-03 (0) 23:17:38 +0900