以下の内容はhttps://inamori.hateblo.jp/entry/2025/01/31/192707より取得しました。


MojoでProject Euler 99

https://projecteuler.net/problem=99

logを取るだけですね。

from math import log
import sys


#################### process ####################

fn read_pairs(path: String) raises -> List[List[Float64]]:
    var pairs = List[List[Float64]]()
    with open(path, "r") as f:
        var data = f.read()
        var v = data.split("\n")
        for s in v:
            var pair_s = s[].split(",")
            var pair = List[Float64]()
            try:
                pair.append(atof(pair_s[0]))
                pair.append(atof(pair_s[1]))
                pairs.append(pair)
            except:
                pass
    return pairs

fn f(path: String) raises -> Int:
    var pairs = read_pairs(path)
    var max_line = 0
    var max_value = 0.0
    for i in range(len(pairs)):
        var value = pairs[i][1] * log(pairs[i][0])
        if value > max_value:
            max_line = i + 1
            max_value = value
    return max_line

fn main() raises:
    print(f("0099_base_exp.txt"))



以上の内容はhttps://inamori.hateblo.jp/entry/2025/01/31/192707より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14