python练习题1
#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time : 2019/5/6 10:29
# @Author : lemon
# @File : test.py
def solve(x, y):
lemon = int(((x + y) * 2) ** 0.5) #求总局数,即进行了多少局
if (lemon * (lemon + 1)) != (x + y) * 2:#判断是否合理 总得分x+y=[lemon*(lemon+1)]/2 如果不合理,直接无解,返回-1
return -1
#若有解,分情况讨论
cnt = 0#先定义最少获胜的轮数为0
#情况1:如果得分小于局数,一局即可
if x < lemon:
return 1
# 情况2:如果得分大于局数,不断计数,消耗分数x直到小于0
while x > 0:
# x -= lemon
# lemon -= 1
# cnt += 1
x = x - lemon
lemon = lemon - 1
cnt = cnt + 1
return cnt#返回局数
x, y = list(map(int, input().split()))#数据输入
print(solve(x, y))#数据输出