LoginSignup
1
2

More than 5 years have passed since last update.

Pythonで複素数(実数部の取り出し)- 2019京都大学理系数学より

Last updated at Posted at 2019-02-28

2019年京都大学 理系数学 問6

i は虚数単位とする。 (1+i)^n + (1-i)^n > 10^{10} をみたす最小の正の整数 n を求めよ

pythonの虚数は j で表す。

ただし、

1 + i

のような値 は 1+1j のように表記する というポイントがある。5iが5jになるのはわかるが・・・ 1+j と書くと変数jが定義されていないということにハマるので注意。(ハマった)

虚数を含んだ複素数の実数部の取り出し

値は complex クラスになるので、 .real で行う。(虚数部はimag)。両方共値としてはfloat で返る。

解答例

2019-kyoto-06.py

n = 1
while True:
    s = (1+1j)**n + (1-1j)**n
    # s は明らかに実数
    if (s.real > 10**10):
        print(n)
        break
    n += 1

これで正解の 71 を得ました。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2