问题标题: 1605 存货清空

0
0
已解决
高亮节
高亮节
资深守护
资深守护

请各位大神帮忙看看1065哪错了,代码90分:

var
a,b,c,d:longint;
begin
read(a);
c:=0;
if a<=b then c:=1
else
while a>=b do
begin
c:=c+1;
b:=b+c;
end;
writeln(c);
end.

 


4
已采纳
被禁言 贾敬波
贾敬波
高级守护
高级守护

while循环里面写的有问题啊,a>=b不对啊,应该是a>b,如果a=b代表存货已经全部卖完了啊。你开始的else只是判断最开始的时候a和b的关系是a>b,一旦进入while循环以后就不受上面条件的约束了,只收到while条件的约束。

0
0
黄昊轩
黄昊轩
新手守护
新手守护
read(a);
c:=0;
if a<=b then c:=1
else
while a>b do
begin
c:=c+1;
b:=b+c;
end;
writeln(c);
0
鲁天一
鲁天一
初级光能
初级光能

while a>=b

if a<=b


冲突了,如果a=b呢?

 

0
我要回答