python练习题1

python练习题1


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))#数据输出