Problem 99: 最大の指数
- 本記事はProjectEulerの「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。
問題 99. 最大の指数
原文 Problem 99: Largest exponential
問題の要約:ファイルから$b^e$のbとeのペアを読んで$b^e$が最大になるのは何番目か答えよ
例として以下のような大きな数の比較があげれらています。
\large 632382^{518061} > 519432^{525806}
このような大きい数を扱うときには対数を使うのが常套手段ですね。以下の基本公式を使って比較します。今回は最大値のindexだけ分かれば良いのでnumpyのargmaxを使いました。
\large log_{10} b^e = e \times log_{10} b
import numpy as np
import math
from google.colab import files
uploaded = files.upload()
#---- base/exp pair from file
bePair = list(map(lambda l: l.strip().split(","),open("p099_base_exp.txt")))
print(bePair)
print(f"Answer: {np.argmax([int(en)*math.log10(int(bn)) for bn, en in bePair])+1}")
(開発環境:Google Colab)
Author And Source
この問題について(Problem 99: 最大の指数), 我々は、より多くの情報をここで見つけました https://qiita.com/masa0599/items/000c7edf03763eb08855著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .