时光法

在联机的回合制游戏中,往往都会设置一个时限,超出时限则自动结束回合。而在当下流行的一款游戏中则有这一机制:你在回合中的每一个操作都会产生一个动画效果,后一个动画效果会在前一个结束后开始,例如你进行了4次操作,每次操作都会产生一个3秒的动画效果,那么总消耗时间就为12秒。如果在你的回合结束时,你完成了若干项操作,但动画效果并没有播放完毕,动画会继续播放,但同时会消耗你对手这回合的时间。例如,回合时限为15秒,你回合结束后又继续播放了8秒的动画,那么对手这一回合就只剩下了7秒。
现在问题来了:假如你当前生命值为N点,回合时间总长为M秒,你的对手小安每一秒可以完成一个造成a点伤害的操作,那么你回合结束时最少需要剩下一个多少秒的动画才能使得对手没办法一回合消灭你。(生命值变为小于等于0时,即被消灭)
保证给出的你的生命值大于0且小于200 时限M大于0且小于50 伤害a大于0 且 小于20
输入:三个数N M a
输出:一个数x,即需要剩下一个x秒的动画。
样例读入
10 5 5
样例输出
4

 

hint

如果不需要剩下没有播放完的动画则认为是剩下0秒的动画。不会剩下负数秒的动画

 

一开始我纠结于除了之后,还剩余小数点,结果发现其实用float就可以解决了

我的

1.#include<stdio.h>
2.int main() {
3.    float n, m, a, x;
4.    int b;
5.    scanf("%f %f %f", &n, &m, &a);
6.    if (n > a * m) {
7.        printf("0\n");
8.    } else {
9.        x = (m - n / a);
10.        b = x + 1;
11.        printf("%d\n", b);
12.    }
13.    return 0;
14.}

 

posted on 2016-01-17 23:08  _阿赞  阅读(407)  评论(0编辑  收藏  举报