题解 | #[NOIP2015]金币#

[NOIP2015]金币

http://www.nowcoder.com/practice/8f71f5670e6a45118d24d13868a2da9e

两种方法:

方法一:把所有金币记录在列表中,截取前K天的求和即可;

K=int(input())
lis=[]
sumn=0
for i in range(1,K+1):
    for j in range(i):
        lis.append(i)
for t in range(0,K):
    sumn+=lis[t]
print(sumn)
    

这个方法虽然正确但是耗时超过要求。

方法二:当天数<K时,计算金币和;否则就break跳出求和的循环

K=int(input())
lis=[]
sumn=0
day=0
for i in range(1,K+1):
    for j in range(i):
        if day<K:
            sumn+=i
            day+=1
        else:
            break
print(sumn)

通过所有实例!

全部评论

相关推荐

亮点儿:昨天二面,今天看状态回到一面了查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务