• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Niro Einteson
文可提笔安天下 武可上马定乾坤
博客园    首页    新随笔    联系   管理    订阅  订阅

P1423 小玉在游泳

P1423 小玉在游泳

题目描述
小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%。现在小玉想知道,如果要游到距离x米的地方,她需要游多少步呢。请你编程解决这个问题。

输入格式
输入一个数字(不一定是整数,小于100m),表示要游的目标距离。

输出格式
输出一个整数,表示小玉一共需要游多少步。

输入输出样例
输入
4.3
输出
3

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     /*思路:
 7         1:输入目标距离x
 8         2:定义当前已经移动的距离sum,和下次移动的距离data
 9         3:while循环 判断 sum+data是否超过目标距离x
10         4:若sum+data>=x结束,输出步数
11         5:否则继续while循环
12     */
13     int step=1;//初始定为1步,若是不满足直接输出步数即可
14     double sum=0;//当前已经移动的距离
15     double stepLength=2;//初始为2
16     double x;//目标距离
17     cin>>x;
18     while(sum+stepLength<x){
19         step++;//步长+1
20         sum+=stepLength;//更新当前距离
21         stepLength*=0.98;//下次移动的距离
22     }
23     cout<<step<<endl;
24     return 0;
25 }

 

 

posted @ 2019-12-08 16:30  Nirogo  阅读(606)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3