90分!第3点过不了!

P1150 Peter 的烟

MC方块人 @ 2019-08-17 22:23:00

include<bits/stdc++.h>

using namespace std; int main(){ long long n,k,sum=0; cin>>n>>k; while(n>=0) { sum+=n; n/=k; } cout<<sum; return 0; }


by 只以 @ 2019-08-17 22:27:22

希望更丰富的展现?使用Markdown


by first_fan @ 2019-08-17 22:28:15

他每吸完一根烟就把烟蒂保存起来


by MC方块人 @ 2019-08-17 22:30:25

@first_fan 请问怎么改


by first_fan @ 2019-08-17 22:30:54

你不得开个数存一下他的烟蒂数量吗……


by MC方块人 @ 2019-08-17 22:32:49

@first_fan sum啊


by MC方块人 @ 2019-08-18 08:47:36

@first_fan

include<bits/stdc++.h>
using namespace std;
int main(){ 
  long long n,k,sum=0;
  cin>>n>>k;
  while(n>=0) {
    sum+=n; n/=k; 
  }
  cout<<sum; return 0; 
}

by cyx13579 @ 2019-08-21 16:01:58

代码中把剩下的烟蒂丢了......
要设一个烟蒂的变量, 试试这个:

#include <iostream>
using namespace std;
int main(){
    long long int n,k,a,b;
    cin>>n>>k;
    a=n;
    while(n>=k){
        b=n; b/=k;
        a+=b; n=b+n%k;
    }
    cout<<a<<endl;
    return 0;
}

by 冰冰手里有糖 @ 2019-08-23 13:41:23

@MC方块人

include<bits/stdc++.h>

using namespace std;

int main(){

int a,k,sum=0;
cin>>a>>k;
int cigarette=a;
int summ=a;
while(cigarette>=k){
    int i,j;
    i=cigarette/k;
    j=cigarette%k;
    cigarette=i+j;
    summ+=i;
}
cout<<summ;
return 0;

}


by MC方块人 @ 2019-08-23 13:50:09

@cyx13579 谢谢,能写一下注释吗?还是有些看不懂


by cyx13579 @ 2019-08-23 20:10:33

#include <iostream>
using namespace std;
int main(){
    long long int n,k,a,b;
  //a是一共能吸到的烟数,b是有些烟兑换完后剩下的烟蒂数
    cin>>n>>k;//输入
    a=n;吸到已有的烟数
    while(n>=k){//当剩下的烟蒂能在兑换时,进入循环
        b=n;//还原烟蒂 b/=k;//能再换b根烟
        a+=b;//加上 n=b+n%k;//剩余n个烟蒂
    }
    cout<<a<<endl;//输出
    return 0;
}

@MC方块人 可以了吗


| 下一页