【问题描述】
小明寒假下载了一款手机跑步 APP,激励自己坚持锻炼身体。该 APP 可以统计用户每天
跑步的路程,并给予相应的“金币”奖励。在用户的“金币”达到一定数量后,就可以兑换
一定的体育用品。
根据跑步路程 x 奖励金币的规则如下:
1、每天的前 1000 米可领取 0.3 金币(若未达到 1000 米则领取数量为零),之后的每 2000
米能领取 0.1 金币。为了引导用户适量运动,每天领取的金币数量不能超过 3。
2、用户只有在 APP 中点击“签到”才能领取当天路程对应的金币。
3、为了让用户能够每天坚持使用该 APP,在用户连续三天签到后,从第四天开始,用户
每天“签到”时领取的金币数可以在原金币计算方法的基础上乘以 2(当然前提是在第四天
时用户也点击“签到”,并且领的金币最多不能超过 6)。但之后只要有一天中断点击“签
到”,则又要重新连续签到三天,在第四天时才能继续获得金币加倍的优惠。
根据小明每天所跑路程以及签到的情况,统计小明 n 天后所拥有的金币总数。请设计程
序帮助小明统计拥有的金币总数。
【输入格式】
输入共有 n+1 行,第一行包含一个正整数 n,表示需要统计小明 n 天后的金币总数。接
下来有 n(1<=n<=100)行,每行两个正整数,xi(1<=xi<=100000)和 fi(1 或 0),分别表示第
i 天时小明所跑的路程以及当天小明是否进行了签到。fi 为 0 表示小明当天未点击“签到”,
为 1 表示小明当天点击“签到”。
【输出格式】
输出数据仅一行,表示 n 天后小明所拥有的金币总数,保留一位小数。
【输入样例】
6
600 1
2300 1
5000 1
56000 1
80000 0
57000 1
【输出样例】
9.8
【输入输出样例说明】
第一天:小明跑了 600 米,小于 1000 米,签到后得到 0 金币。
第二天:小明跑了 2300 米,前 1000 米可得金币 0.3;2300-1000=1300,不足 2000 米。
所以签到后可得 0.3 金币。
第三天:小明跑了 5000 米,在进行签到后,可得到的金币为:0.3+0.12=0.5。
第四天:小明跑了 56000 米,在进行签到后,应得的金币为: 0.3+0.127=3。由于是连
续第四天签到,所以实际得到 32=6 金币。
第五天:小明跑了 80000 米,但未进行签到,所以得到的金币为 0。
第六天:小明跑了 57000 米,进行签到后,应得的金币为::0.3+0.128=3.1。由于每天最
高获金不能超过 3,所以实际得到 3 金币。
根据上述每天获得的金币,小明 6 天后可获“金币”总数为 9.8。
用c++解决简单的数学问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- zhengzhisheng6 2022-02-27 20:29关注
#include<iostream> #include<algorithm> using namespace std; int b=0; double init(int cnt){ if(cnt<1000) return 0;//小于1000 else if(b>=4){//如果签到超过三天 if((0.3+(cnt-1000)/2000*0.1)*2>6){//金币大于6返回6 return 6; }else{ return 0.6+(cnt-1000)/2000*0.1*2; } }else{ if((0.3+(cnt-1000)/2000*0.1)>3){//金币大于三返回3 return 3; }else{ return 0.3+(cnt-1000)/2000*0.1; } } } int main(){ int n,fi,f; cin>>n; double ans=0; for(int i=1;i<=n;i++){ cin>>fi>>f; if(f==0){//没签到 b=0;//累计签到数清零 continue; }else{ b++;//签到数加一 ans+=init(fi);//加金币 } } cout<<ans; return 0; }
思路写注释里
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应
- ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
- ¥100 连续两帧图像高速减法
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据