読者です 読者をやめる 読者になる 読者になる

水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

No.285 消費税2

Python yukicoder 競技プログラミング

回答

#52866 No.285 消費税2 - yukicoder

普通に1.08をかけて出力すると,誤差が出て見事に死んでしまう.
なので,108をかけて,文字列に変換,最後二文字以外+"."+最後二文字を出力してあげると,うまくいきます.
(コンテスト中は108かけて,100で割る方法でACしていましたが,誤差がたまたま出なかっただけなので,この方法が正しいと思います)
文字列変換がぱぱっと出来るのは本当にいいですね,Python.(そしてマイナスのインデックス使うと,最後からいくつ,みたいな取り出し方出来るのも良いと思います…)

s = str(int(input()) * 108)
print(s[:-2]+"."+s[-2:])

あとこのコンテスト中に寝てしまって,二問目,三問目がDPだったらしく,やらかしてしまった感じ.
一瞬頭のなかでは手段として思いついたものの,実装が出来ない….本当に単純なDPしか考えられないのが問題のような気がする\(^o^)/

以上….