https://yukicoder.me/problems/no/648

基本的にはむこさんの解説のとおり、(sqrt(8*n+1)-1)/2を出力すれば良いですが、実装上の別解を。

  1. Integer sqrtの利用
  2. sqrtlの利用
    • long doubleの仮数部が64bitであることを思い出せば、sqrtlを使えば解けることは想像に固くありません。1
    • C https://yukicoder.me/submissions/206063
    • Python (ctypes) https://yukicoder.me/submissions/207816
      • intをマーシャリングするときにfloatを経由されるといけないので、sscanfを用いて自力でマーシャリングする必要があります

  1. あれ、topcoder初出場で撃沈したのは誰だ^^; (SRM 635 Div2 Medやらyukicoder No.413やら)