この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - TypeScript タイプパズル
47. implement Multiply<A, B>

解答例:

type Multiply<A extends number, B extends number> = A extends 0 ? 0 : B extends 0 ? 0 : A extends 1 ? B : B extends 1 ? A : A extends 2 ? B extends 2 ? 4 : B extends 3 ? 6 : B extends 4 ? 8 : B extends 5 ? 10 : B extends 6 ? 12 : B extends 7 ? 14 : B extends 8 ? 16 : B extends 9 ? 18 : never : B extends 2 ? A extends 2 ? 4 : A extends 3 ? 6 : A extends 4 ? 8 : A extends 5 ? 10 : A extends 6 ? 12 : A extends 7 ? 14 : A extends 8 ? 16 : A extends 9 ? 18 : never : A extends 3 ? B extends 2 ? 6 : B extends 3 ? 9 : B extends 4 ? 12 : B extends 5 ? 15 : B extends 6 ? 18 : B extends 7 ? 21 : B extends 8 ? 24 : B extends 9 ? 27 : never : A extends 4 ? B extends 2 ? 8 : B extends 3 ? 12 : B extends 4 ? 16 : B extends 5 ? 20 : B extends 6 ? 24 : B extends 7 ? 28 : B extends 8 ? 32 : B extends 9 ? 36 : never : A extends 5 ? B extends 2 ? 10 : B extends 3 ? 15 : B extends 4 ? 20 : B extends 5 ? 25 : B extends 6 ? 30 : B extends 7 ? 35 : B extends 8 ? 40 : B extends 9 ? 45 : never : A extends 6 ? B extends 2 ? 12 : B extends 3 ? 18 : B extends 4 ? 24 : B extends 5 ? 30 : B extends 6 ? 36 : B extends 7 ? 42 : B extends 8 ? 48 : B extends 9 ? 54 : never : A extends 7 ? B extends 2 ? 14 : B extends 3 ? 21 : B extends 4 ? 28 : B extends 5 ? 35 : B extends 6 ? 42 : B extends 7 ? 49 : B extends 8 ? 56 : B extends 9 ? 63 : never : A extends 8 ? B extends 2 ? 16 : B extends 3 ? 24 : B extends 4 ? 32 : B extends 5 ? 40 : B extends 6 ? 48 : B extends 7 ? 56 : B extends 8 ? 64 : B extends 9 ? 72 : never : A extends 9 ? B extends 2 ? 18 : B extends 3 ? 27 : B extends 4 ? 36 : B extends 5 ? 45 : B extends 6 ? 54 : B extends 7 ? 63 : B extends 8 ? 72 : B extends 9 ? 81 : never : never;

// テスト
type A = Multiply<1, 0> // 0
type B = Multiply<4, 6> // 24