4182. Fibonacci Sequence
小于 1 分钟
4182. Fibonacci Sequence
<题目描述>
::: playground#ts 4182. Fibonacci Sequence
@file index.ts
// ============= Test Cases =============
import type { Equal, Expect } from '@type-challenges/utils'
type cases = [
Expect<Equal<Fibonacci<1>, 1>>,
Expect<Equal<Fibonacci<2>, 1>>,
Expect<Equal<Fibonacci<3>, 2>>,
Expect<Equal<Fibonacci<8>, 21>>,
]
// ============= Your Code Here =============
type Fibonacci<T extends number> = any
:::
点击查看答案
type Fibonacci<
T extends number,
CurrentIndex extends any[] = [1],
Prev extends any[] = [],
Current extends any[] = [1]
> = CurrentIndex['length'] extends T
? Current['length']
: Fibonacci<T, [...CurrentIndex, 1], Current, [...Prev, ...Current]>