Hofstadter Figure-Figure sequences: Difference between revisions

Another D version
m (→‎{{header|Perl 6}}: i like unicode)
(Another D version)
Line 167:
 
=={{header|D}}==
{{trans|Go}}
<lang d>import std.stdio, std.array, std.range, std.algorithm;
 
int delegate(in int) nothrow ffr, ffs;
 
static this() {
auto r = [0, 1], s = [0, 2];
 
ffr = (in int n) {
while (r.length <= n) {
int nrk = r.length - 1;
int rNext = r[nrk] + s[nrk];
r ~= rNext;
foreach (sn; r[nrk] + 2 .. rNext)
s ~= sn;
s ~= rNext + 1;
}
return r[n];
};
 
ffs = (in int n) {
while (s.length <= n)
ffr(r.length);
return s[n];
};
}
 
void main() {
writeln(map!ffr(iota(1, 11)));
auto t = chain(map!ffr(iota(1, 41)), map!ffs(iota(1, 961)));
writeln(equal(sort(array(t)), iota(1, 1001)));
}</lang>
Output:
<pre>[1, 3, 7, 12, 18, 26, 35, 45, 56, 69]
true</pre>
===Alternative version===
{{trans|Python}}
(Same output)
<lang d>import std.stdio, std.array, std.range, std.algorithm;
 
Line 218 ⟶ 255:
writeln(equal(sort(array(t)), iota(1, 1001)));
}</lang>
 
Output:
<pre>[1, 3, 7, 12, 18, 26, 35, 45, 56, 69]
true</pre>
=={{header|Factor}}==
{{incorrect|Factor|See talk page}}
Anonymous user