4.序号乘方

Description
There are Infinite People Standing in a row, indexed from 1.A person having index ‘i’ has strength of (i*i).You have Strength ‘P’. You need to tell what is the maximum number of People You can Kill With your Strength P.You can only Kill a person with strength ‘X’ if P >= ‘X’ and after killing him, Your Strength decreases by ‘X’.

Input
First line contains an integer ‘T’ - the number of testcases,Each of the next ‘T’ lines contains an integer ‘P’- Your Power.Constraints:1<=T<=100001<=P<=1000000000000000

Output
For each testcase Output The maximum Number of People You can kill.

Sample Input 1
1
14

Sample Output 1
3

def solution(number):
    k = 1
    while (k * (k + 1) * (2 * k + 1)) // 6 <= number:
        k += 1
    return k - 1


if __name__ == '__main__':
    n = int(input())
    for i in range(n):
        number = int(input())
        result = solution(number)
        print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值