幼い頃からPythonを学びましょう!Luogu Python の学習および試験準備プロセスにおける質問を記録し、あらゆる瞬間を記録します。
まとめ記事を添付します: LuoguのPython言語 | まとめ_プログラミング大好きコミュニケーターのブログ - CSDN Blog
【説明】
教師 P は、NOIP に参加する子供たちへのプレゼントとして、店に鉛筆を買いに行く必要があります。彼女は、その店には 3 種類の鉛筆のパッケージがあることに気付きました。パッケージによって鉛筆の数が異なる可能性があり、価格も異なる可能性があります。公平を期すために、P 先生は同じパッケージの鉛筆のみを購入することに決めました。
その店では鉛筆の包装を開けることを許可していないため、教師 P は子供たちにプレゼントを与えるために n 本以上の鉛筆を購入する必要があるかもしれません。
ここで、教師 P は、店に各パッケージが十分にある場合、少なくとも n 本の鉛筆を購入するのにいくらかかるかを知りたいと考えています。
【入力】
最初の行には、必要な鉛筆の数を表す正の整数 n が含まれています。
次の 3 行は、それぞれ 2 つの正の整数を使用して鉛筆のパッケージを表します。最初の整数はこのパッケージ内の鉛筆の数を表し、2 番目の整数はこのパッケージの価格を表します。
7 つの数値がすべて 10,000 を超えない正の整数であることを確認してください。
【出力】
教師 P が費やす必要がある最低金額を示す 1 つの整数。
【入力例】
57 2 2 50 30 30 27
【出力例】
54
【コード説明】
n = int(input())
c1, p1 = [int(i) for i in input().split()]
c2, p2 = [int(i) for i in input().split()]
c3, p3 = [int(i) for i in input().split()]
# 计算第一组铅笔需要花费的金额
if n % c1 == 0:
pp = n // c1 * p1
else:
pp = (n // c1 + 1) * p1
minn = pp
# 计算第二组铅笔需要花费的金额
if n % c2 == 0:
pp = n // c2 * p2
else:
pp = (n // c2 + 1) * p2
if minn > pp:
minn = pp
# 计算第二组铅笔需要花费的金额
if n % c3 == 0:
pp = n // c3 * p3
else:
pp = (n // c3 + 1) * p3
if minn > pp:
minn = pp
print(minn)
【運用結果】
9998
128 233
128 2333
128 666
18407