Anonymous user
Hofstadter Figure-Figure sequences: Difference between revisions
Hofstadter Figure-Figure sequences (view source)
Revision as of 09:51, 10 December 2011
, 12 years agoAnother 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}}
|