[白俊]制作1463号-1
📩 ソース
質問する
整数Xに使用できる演算は3種類あります.
入力
第1の行は、1以上、106以下の整数Nを与える.
しゅつりょく
1行目の演算回数の最大値を出力します.
👉 の意見を打診
n = int(input())
dp = [0] * (n + 1)
for i in range(2, n+1):
# 첫번째 방법 1을 빼줌
dp[i] = dp[i-1] + 1
# 3으로 나눌수 있으면 나눠서 최소값 비교
if i % 3 == 0:
dp[i] = min(dp[i], dp[i//3] + 1)
# 2로 나눌 수 있으면 나눠서 최소값 비교
if i % 2 == 0:
# 6 > 3 > 1로 가는 방법
dp[i] = min(dp[i], dp[i//2] + 1)
print(dp[n])
Reference
この問題について([白俊]制作1463号-1), 我々は、より多くの情報をここで見つけました https://velog.io/@letgodchan0/백준-1463번-1로-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol