コンテンツにスキップ

019: 「1+1=?」のヒント

問題 / 解答

難易度: ☆☆

ヒント1

F2 の中身は、常に 0 または 1 にできます。 value % 2 を保存すれば、F2(2)F2(3) も自然に扱えます。

ヒント2

Pythonでは、+ の動作を __add__* の動作を __mul__ で定義できます。 repr(x) の表示は __repr__ で定義します。

ヒント3

\(F_2\) の加法と減法は同じです。 どちらも、2で割った余りとして計算できます。 そのため、-F2(1)F2(1) になります。

ヒント4

\(F_2\) で0の乗法逆元は存在しません。 inverse()F2(1) に対してだけ F2(1) を返し、F2(0) に対しては ZeroDivisionError を送出します。