洛谷 P1426 小鱼会有危险吗

题目链接:P1426

洛谷 P1426 小鱼会有危险吗_第1张图片
洛谷 P1426 小鱼会有危险吗_第2张图片

第一次的错误代码????

#include
#include

using namespace std;

int main()
{
	double s,x;
	cin>>s>>x;
	double num = 7;
	double sum = 7;  //这个代码是错误的,然后搜题解看到,仅仅改动这一句 double sum=0就能AC
			//但我不明白的是sum接下来直接就加上num*0.98
			//跳过了刚开始的 7为什么还能AC啊QAQ,求大佬留言指点。。。
	while(sum<s-x)
	{
		num = num*0.98;
		sum += num;
	}
	
	if(sum+num*0.98 > s+x)
		cout<<"n"<<endl;
	else
		cout<<"y"<<endl;
	return 0;
}

所以按照我个人的理解又改了一下,正确地代码如下:

#include
#include

using namespace std;

int main()
{
	double s,x;
	cin>>s>>x;
	double num = 7;
	double sum = 0;  //sum初始化为0,接下来直接加7,其他不变,也能AC,呜呜呜呜
			//小白很迷茫QAQ,求看到的大佬评论一下下。。。
	while(sum<s-x)
	{
		sum += num; //没有跳过7
		num = num*0.98;
	}
	
	if(sum+num*0.98 > s+x)
		cout<<"n"<<endl;
	else
		cout<<"y"<<endl;
	return 0;
}

你可能感兴趣的:(洛谷)