第3个点WA的看过来

P1150 Peter 的烟

看我多机智
by xujian @ 2017-10-22 14:45:04


???
by KFC爷爷 @ 2017-10-27 09:40:48


```cpp #include<bits/stdc++.h> using namespace std; int main() { int n,m,ans,s=0; cin>>n>>m; ans=n; s=n; while(n+s/m>=m) { n=s/m; s%=m; s+=n; ans+=n; } cout<<ans; return 0; } ```
by LJC00118 @ 2017-10-28 11:38:42


这样不是更好吗
by LJC00118 @ 2017-10-28 11:39:09


```cpp var i,k,n,ans:longint; begin readln(n,k); ans:=n; repeat n:=n div k; ans:=ans+n; until n=0; writeln(ans); end. ``` 第三WA,咋办?
by Soyilieber @ 2017-11-04 19:56:34


你们可以尝试去得出它的规律,慢慢地、慢慢地、慢慢地、慢慢地、慢慢地(以下省略10000个字)…… 好,说正文时间到! 你们用些纸笔就能得出:这输出肯定大于等于n,我就设输出变量为ans好了。咱们把ans先赋值n,再把n看作有n个烟蒂,每次都是用掉k个烟蒂,换来一支烟(ans+1,n-k+1)。这是我们惊奇地发现:无非就是一个循环,如果n>=k就循环下去(当n=k-1时,由于要k个烟蒂才能换一支烟,不能讨价还价——也就是换后再还,这是不可以的),每次ans+1以及n-k+1就行了哈!是不是感觉很简单呢?
by 快乐的小狮子 @ 2017-12-19 18:11:47


顶 这个办法好理解
by Rain_142857 @ 2018-02-09 15:46:11


|