Codeforces 165B
問題概要
Σ(i=0…∞) [v/(k^i)]がN以上になるような最小のvを求めよ.
解法
n*(k-1)/kの周辺について解を調べる
実装(Ruby)
def solve(v,k) k = k.to_f res = 0 i = 0 while v / (k**i) >= 1.0 res += (v/(k**i)).to_i i += 1 end return res end n,k = gets.split.map(&:to_i) start = n * (k - 1) / k for v in (start - 10000)..(start + 10000) if solve(v,k) >= n puts v exit end end