ファンデルコルプト数列

ファンデルコルプト数列（van der Corput sequence）は、単位区間に対する（準乱数列）の1つであり、1935年にオランダの数学者ヨハネ・ファン・デル・コルプトによって考案された。この数列は自然数の"n"進表記を逆順にしたものを小数点以下に並べたものである。
自然数"n"の"b"-進表記は、
であり、"k"桁目の"d""k"は0 ≤ "d""k"("n") < "b"を満たす。
このとき、ファンデルコルプト数列の"n"項目である"g""b"(n)は
である。
例.
例えば、10進のファンデルコルプト数列を得るためには、まず 1 から 9 を10で割ったものを並べる ("x"/10)。そして、分母を100として、分子に 10 から 99 を並べる。しかしここで、10 からそのまま並べるのではなく、01, 11, 21, 31, 41, 51, 61, 71, 81, 91 ... というように、10の位と1の位を入れ替えて並べる。そして、20以降は分子が2で終わる数字が続き、 02, 12, 22, 32, 42, 52, 62, 72, 82, 92、更に 03, 13, 23 ... と続く。
そのため、ファンデルコルプト数列（10進）は
と続き、小数表記では
となる。
2進法でも同様であり、2進ファンデルコルプト数列は
または
と続く。
任意の底において、ファンデルコルプト数列は単位区間での稠密集合となる。つまり、[0, 1]内の任意の実数に対して、その実数に収束するファンデルコルプト数列の部分列が存在する。また、単位区間で一様である。
C での実装.
double corput(int n, int base){
 double q = 0;
 double bk = 1.0 / base;
 while (n > 0) {
 q += (n % base) * bk;
 n /= base;
 bk /= base;
 return q;