D言語: recurrence の練習
import std.experimental.all; void main() { // 初項 1, 公差 2 auto a = recurrence!((a, n) => a[n-1] + 2)(1); writeln(a.take(10)); //=> [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] // 初項 3, 公比 2 auto b = recurrence!((a, n) => a[n-1] * 2)(3); writeln(b.take(10)); //=> [3, 6, 12, 24, 48, 96, 192, 384, 768, 1536] // フィボナッチ数列 auto fibs = recurrence!((a, n) => a[n-2] + a[n-1])(1, 1); writeln(fibs.take(10)); //=> [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] // 三角数 auto t = recurrence!((a, n) => a[n-1] + n)(0).drop(1); writeln(t.take(10)); //=> [1, 3, 6, 10, 15, 21, 28, 36, 45, 55] }