パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

宇宙樹の高さを求める

2021-05-14 | プログラムをマスター計画2021

こちらの問題 クリスマスツリーなんですが、テストケースによってはとてつもなく答えが高い

単位は記載されていないけど 一キャラクタの単位がmなら月にぶつかるのではという高さ

https://www.codingame.com/training/medium/christmas-tree

 

 

問題はキャラクターの数と増え方の数値が与えられ

幹は1キャラクターの太さで最低でも1つ必要

木は頭から1キャラクタ 次は1+増える数 増える数は1つ上の幅にドンドン増やされる

三角形の部分が最大の大きさの時の高さを求める問題

 

下の例だとキャラクターは38個、増え方は2 

宇宙樹級の問題は普通に計算しては時間が足りません。

そこで絞り込みをなんとなくかけて解答。

 

時間はなんとかなったのですが、宇宙樹は値が少し違う...計算式間違っているのかと試行錯誤した結果

とてつもなく大きい値だと/2とかで割り切れる値でも微差が発生していました。

8と10行割り切れる値に0.5をかけてもintで先に計算しておかないと誤差がでます。

( 他の型の解答例で //2とかありました)

 

一番の難問

他の方は数学で簡単に解いていました。

もっとも短い人はPythonで5行。

 

 

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。