Subtract
提出詳細
type TNum<N extends number, A extends 0[] = []> = A["length"] extends N ? A : TNum<N, [...A, 0]>; type Subtract<M extends number, S extends number> = TNum<M> extends [...TNum<S>, ...infer R] ? R["length"] : never;
提出日時 | 2025-01-21 14:25:33 |
---|---|
問題 | Subtract |
ユーザー | ookkoouu |
ステータス | Accepted |
import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect<Equal<Subtract<1, 1>, 0>>, Expect<Equal<Subtract<2, 1>, 1>>, Expect<Equal<Subtract<1, 2>, never>>, // @ts-expect-error Expect<Equal<Subtract<1000, 999>, 1>>, ]