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))#数据输出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值