ABC077-B - Around Square を解く(1)
ABC077-B - Around Square
N以下の平方数(整数を2乗した数)を求める問題
1, 4, 9, 16 … と順番に列挙していって
Nを追い越した時にその1つ前の数を答える方法でいこうと思う
以上を踏まえて書いたコードを以下に示す
提出したコード
# 入力 N=int(input()) a=1 while True: b=a*a if N==b: print(b) break elif N<b: print((a-1)*(a-1)) break
提出結果はTLEでした
間に合わないのかー
1 <= N <= 10^9 なので
2乗した数が 10^9 を超える場合は 31623 のときらしい
つまり最大でループは 31623 回になるわけだけど
その程度の回数でも間に合わないのか…
思っていたよりも計算量が大きいみたいだ
ABC077-B - Around Square を解く(2) へ続く