1 题目描述(题目链接)
2 题解
由于是两边对称的,所以 x x x就取绝对值。假设走 n n n步,那么要满足 n ( n + 1 ) 2 ≥ x \frac{n(n+1)}{2}\ge x 2n(n+1)≥x,如果相等,那么 n n n就是最小步数。如果大于,则需要满足二者之差为偶数,即 ( n ( n + 1 ) 2 − x ) (\frac{n(n+1)}{2}- x) (2n(n+1)−x)为偶。
import math
x = abs(int(input()))
n = math.ceil(0.5*((8*x+1)**0.5-1))
while ((n+1)*n//2 - x) % 2 != 0:
n += 1
print(n)