付録A解答

1章:有限体

練習問題1

2つのFieldElementオブジェクトが互いに等しくないことを確認するためのメソッド__ne__を実装してください。

class FieldElement:
...
    def __ne__(self, other):
        # this should be the inverse of the == operator
        return not (self == other)

練習問題2

次の式を、F57のもとで解いてください(すべてのffとします)。

  • 4433
  • 929
  • 174249
  • 523038
    >>> prime = 57
    >>> print((44+33)%prime)
    20
    >>> print((9-29)%prime)
    37
    >>> print((17+42+49)%prime)
    51
    >>> print((52-30-38)%prime)
    41
    

練習問題3

2つのFieldElementオブジェクトの減算を定義する__sub__メソッドを実装してください。

class FieldElement: ... def __sub__(self, other): if self.prime != other.prime: raise TypeError('Cannot subtract two numbers in different Fields') # self.num and other.num are the actual values # self.prime is what we need to mod against num = (self.num - other.num) % self.prime ...

Get プログラミング・ビットコイン ―ゼロからビットコインをプログラムする方法 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.