wangweiba @ 2017-07-27 21:00:36
小学数学题,纯模拟
var n,k,y,s:longint;
begin
readln(n,k);
while n>0 do begin
n:=n-1; 烟鬼已经抽了一根烟
y:=y+1; 烟蒂数加一
if y=k then begin 如果这个烟蒂数已经达到可以换烟的地步了
n:=n+1; 烟的根数加1
y:=0; 换完后烟蒂数清零
end;
s:=s+1; 由于while循环的缘故这边要加个计数器
end;
write(s); 输出
end.
by Siyuan @ 2017-08-08 20:47:14
var
n,k,a,b:int64;//a为能吸到的烟的总数,b为当前的烟蒂数
begin
read(n,k);
a:=n;
b:=n;
while b>=k do
begin
a:=a+b div k;
b:=(b mod k)+(b div k);
end;
write(a);
end.