Type Challenges Judge

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>>, ]