はこねのはこ

はこねさんの備忘録

競プロ

積(掛け算した値)がオーバーフローするかチェックする

はじめに ABC169のBで躓いたので。 冷静じゃなくなると間違いが見えなくなる。 結論 一度掛け算し、その積をかけた数の片方で割った場合同じ値になるかをみている。 #define ul unsigned long bool IsOverflow(ul a, ul b){ ul x = b * a; return (x/a != b)…

C++の少数の出力結果が丸められてしまったのでsetprecisionマニピュレータをつかった。

はじめに 先日AtCoderさんのABC168に参加した時、 問題Cの出力結果の精度がどうしても欲しいところまで出なくて悩んでいた。 atcoder.jp 4.56425719433005553554 ...と割り切れない値のはずが、 4.56426 と表示されていた。 結論 setprecisionマニピュレータ…

AtCoder ABC122-Aの解法メモ

はじめに AtCoder122のA問題について、 if文で記載したもののfindを使用するともっとスッキリ記載できることを知ったのでメモ 問題 AtCoder 星には四種類の塩基 A, C, G, T が存在し、A と T、C と G がそれぞれ対になります。 文字 bが入力されます。これは…

Python 各桁の和を求める

はじめに AtCoderのABC0838の問題をしていて、 思いつけなくて悔しかったやり方を見たのでメモ やりたかったこと 各桁の数字を足した値を求める strを用いた方法 python、for文で文字列の一文字ずつ順番に参照できることを利用した方法 def digit_sum2(num):…