【洛谷】P1426 小魚會有危險嗎
阿新 • • 發佈:2018-12-22
題目連結: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;
}