12 lines
627 B
ObjectPascal
12 lines
627 B
ObjectPascal
// Последовательность Голомба G(n) - это такая единственная неубывающая последовательность
|
|
// натуральных чисел, в которой n появляется ровно G(n) раз
|
|
// 1 2 2 3 3 4 4 4 5 5 5 6 6 6 6 …
|
|
// Без кеширования время выполнения огромное за счет повторяющихся рекурсивных вызовов
|
|
[Cache]
|
|
function G(n: int64): int64 := n = 1 ? 1 : 1 + G(n - G(G(n - 1)));
|
|
|
|
begin
|
|
var n := 100000;
|
|
(1..n).Sum(i -> G(i)).Print;
|
|
Milliseconds.Print;
|
|
end. |