Lzj031103 @ 2022-03-21 19:13:54
a=input().split()
n=int(a[0]);k=int(a[1])
b=n//k
c=(n%k+b)//k
print(n+b+c)
一定要用循环吗,这个答案可以改进吗,第三个点过不了
by Terrible @ 2022-03-21 19:28:45
@Lzj031103
你这个压根就是错的吧。
应该这么写:
a,b=map(int,input().split())
print(a+(a-1)//(b-1))
by Lzj031103 @ 2022-03-21 19:37:24
@Terrible
我第三行想的是:他一开始抽完的烟可以再换多少根
第四行是:用一开始抽完换完之后剩余的烟头(%取余数)再加上换的烟的烟头再去换
然后就发现如果我这样写就会进到一个循环当中
大佬,能解释一下您给的输出函数里面的内容吗,没有理解为什么那个a-1以及b-1的作用,非常感谢
by Terrible @ 2022-03-21 19:43:26
@Lzj031103 看一下第一篇题解
hack数据:
15 2
你的输出:26
实际上应该是:
by Lzj031103 @ 2022-03-21 19:43:31
@Lzj031103
我这个思路一开始应该就是存在问题的,应该是碰巧对了那几个测试点
by Terrible @ 2022-03-21 19:46:37
如果怕错的话就用循环模拟一下,比较稳。
by Lzj031103 @ 2022-03-21 19:46:42
@Terrible
奥奥,我懂了,我一开始去看那篇题解还不明白,看到您的代码结合起来才明白,谢谢大佬