BOJ 17283 I am Groot
2706 ワード
https://www.acmicpc.net/problem/17283
1秒、256 MBメモリ
input :
中心茎長L(6<=L<=10000)
比率R(1<=R<=99)
output :
中心茎を除く枝の全長の和.△小数点以下を捨てる.
条件:
枝を2本に分ける.
N本目の枝の長さはN-1本目の枝の長さのR/100倍である.△小数点以下を捨てる.
N本目の枝の長さが5以下であれば、N−1本目の枝では成長が停止する.
現在の分化の回数と現在の分化の長さを再帰的に入力
input:数本目、枝の長さ.
1本の分化の長さが5以下であれば、これまで計算した木の長さに戻る.
枝は1->2->4->8...2の平方が増加します.
n-1枝->n枝に向かうとき
分化した枝の全長は2^(n−1){(n−1枝長)パーセント}であり,これを総変数に格納した.
熱いうちにwhileドアで回しましょう
終了条件はLが5未満の場合breakです.
正しいコード:
途中if L<5:で書き間違えました.
和弦をよく見て...
1秒、256 MBメモリ
input :
中心茎長L(6<=L<=10000)
比率R(1<=R<=99)
output :
中心茎を除く枝の全長の和.△小数点以下を捨てる.
条件:
枝を2本に分ける.
N本目の枝の長さはN-1本目の枝の長さのR/100倍である.△小数点以下を捨てる.
N本目の枝の長さが5以下であれば、N−1本目の枝では成長が停止する.
input:数本目、枝の長さ.
1本の分化の長さが5以下であれば、これまで計算した木の長さに戻る.
枝は1->2->4->8...2の平方が増加します.
n-1枝->n枝に向かうとき
分化した枝の全長は2^(n−1){(n−1枝長)パーセント}であり,これを総変数に格納した.
熱いうちにwhileドアで回しましょう
終了条件はLが5未満の場合breakです.
正しいコード:
import math
L = int(input())
R = int(input())
total = 0
cnt = 2
while 1:
L = int(L * (R / 100))
if L <= 5:
break
total += (cnt * L)
cnt *= 2
print(total)
途中if L<5:で書き間違えました.
和弦をよく見て...
Reference
この問題について(BOJ 17283 I am Groot), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/BOJ-17283-I-am-Grootテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol