1. 程式人生 > >【洛谷】P1426 小魚會有危險嗎

【洛谷】P1426 小魚會有危險嗎

題目連結:P1426

在這裡插入圖片描述
在這裡插入圖片描述

第一次的錯誤程式碼????

#include<iostream>
#include<cstdio>

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<iostream>
#include<cstdio>

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; }