小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游 22 米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的 98%。现在小玉想知道,要游到距离 s 米的地方,她需要游多少步呢。请你编程解决这个问题。
#include <iostream>
using namespace std;
int main()
{
double s,sum=2,cnt=0.0;
cin>>s;
int i=0;
while (cnt<=s)
{
i++;
sum*=0.98;
cnt+=sum;
}
cout<<i;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
double x; cin>>x; //输入的数据
double sum=0.0; //存储游的距离
int ans=0; //储存步数
double tmp=2; //储存每一步的距离
while(sum<=x) //当游的距离还没大于应游的距离时,就执行
{
sum=sum+tmp; //累加每一步
tmp=tmp*0.98; //步数距离更新
ans++; //每执行一次循环,步数+1
}
cout<<ans<<endl;
return 0;
}
请问为什么我只有1个AC,剩下3个WA和1个TLE? 蒟蒻菜,求解,谢谢!