解题思路:
这题就重在思路了,在给的三个元素中要理清楚,m是不变的,x减少,体力恢复,n增加,是以x减少开始引发的,故以x入手整一个自减循环,开始的时候,体力值是为0的,由于能量元素恢复的体力值是取决于战斗力的,所以有可能恢复体力值超过了m,不符常理,这时体力值按m算,还有恢复满体力后,直到战斗期结束,战斗力才增加,还有体力为0,才结束战斗期
注意事项:
参考代码:
#include<stdio.h> int main() { int m,n,x; scanf("%d%d%d",&m,&n,&x); int a=0;//体力值 for(int i=x;i>0;i--) { a+=n; if(a>=m)恢复的体力超过最大时 { a=m; n+=a/n;//加的战斗力,在战斗期中有多少个n天 a=0; } } printf("%d",n); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.12 (C语言代码)浏览:762 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:748 |
【回文数(二)】 (C++代码)浏览:932 |
时间转换 (Java代码)浏览:618 |
用筛法求之N内的素数。 (C语言代码)浏览:711 |
关于C语言变量位置的问题浏览:294 |
1199题解浏览:707 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:515 |
WU-程序员的表白 (C++代码)浏览:803 |
校门外的树 (C语言代码)浏览:634 |