旗押して aとbを入力 a*bが返る。
アセンブリを書いてるみたいな気分でした。 解説用プロジェクトなのに難解すぎて終わった() バグあったら教えてくれ。 参考: https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%A9%E3%83%84%E3%83%90%E6%B3%95 自作プログラム(このプロジェクト作成時点で非公開) ```mermaid flowchart TD A(["x × y を計算"]):::start A --> B{{"n が小さい?"}} B -- "はい" --> C(["通常の掛け算で返す"]):::base B -- "いいえ" --> D["x → x_hi, x_lo に分割\\ny → y_hi, y_lo に分割\\n(m = n/2 桁ごと)"]:::split D --> E["z2 = karatsuba( x_hi, y_hi )"]:::rec D --> F["z0 = karatsuba( x_lo, y_lo )"]:::rec D --> G["z1_mid = karatsuba(\\n x_hi + x_lo,\\n y_hi + y_lo )"]:::rec E --> H["z1 = z1_mid − z2 − z0"]:::combine F --> H G --> H H --> I(["z2·B^{2m} + z1·B^m + z0 を返す"]):::result classDef start fill:#EEEDFE,stroke:#534AB7,color:#26215C classDef base fill:#E1F5EE,stroke:#0F6E56,color:#04342C classDef split fill:#FAEEDA,stroke:#BA7517,color:#412402 classDef rec fill:,stroke:,color: classDef combine fill:,stroke:,color: classDef result fill:,stroke:,color: ```