26 lines
627 B
D
26 lines
627 B
D
import std.stdio;
|
|
|
|
void vanEck(int firstIndex, int lastIndex) {
|
|
int[int] vanEckMap;
|
|
int last = 0;
|
|
if (firstIndex == 1) {
|
|
writefln("VanEck[%d] = %d", 1, 0);
|
|
}
|
|
for (int n = 2; n <= lastIndex; n++) {
|
|
int vanEck = last in vanEckMap ? n - vanEckMap[last] : 0;
|
|
vanEckMap[last] = n;
|
|
last = vanEck;
|
|
if (n >= firstIndex) {
|
|
writefln("VanEck[%d] = %d", n, vanEck);
|
|
}
|
|
}
|
|
}
|
|
|
|
void main() {
|
|
writeln("First 10 terms of Van Eck's sequence:");
|
|
vanEck(1, 10);
|
|
writeln;
|
|
writeln("Terms 991 to 1000 of Van Eck's sequence:");
|
|
vanEck(991, 1000);
|
|
}
|