总共需要考虑三种情况:
(1)上爬的高度直接大于等于密道的深度,那么当天白天就能爬出密道,而且 不用进入黑夜下滑
(2)上爬的高度小于密道的深度,一天肯定爬不出去,而且上爬的高度小于等于下滑的高度,那么爬得还不如滑得多,爬到海枯石烂你也爬不出去
(3)排除上两种情况,剩余的就是一定能爬得出去
参考代码:
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> int main() { int high = 0, up = 0, down = 0; while (scanf("%d %d %d", &high, &up, &down) == 3) { int distance = 0;//把上爬和下滑都考虑进去后的实际爬升的距离 int days = 0;//需要days天爬出密道 if (up >= high) { //上爬的距离大于等于密道的高度,那么当天白天就能爬出来 printf("%d\n", 1); } else if (up <= down) { //如果上爬还不如下滑的多或者是上爬和下滑一样多,那就肯定无法爬出密道 printf("GAME OVER!\n"); } else { //其余的情况一定能爬出密道 while (distance < high) { //只要实际上爬的距离没有超过密道高度,那就接着给爷爬 distance += up;//白天上爬b米 if (distance >= high) { /* * 每上爬一次就得检查是否能够爬出密道, * 如果实际距离大于等于密道高度,那就天数加一,结束循环, * 否则就是还没能够爬出密道,进入黑夜下滑 */ days++; break; } //白天上爬没能够爬出密道,深夜开始下滑 distance -= down;//晚上下滑c米 days++;//又爬了一天 } printf("%d\n", days); } printf("\n"); } return 0; }
0.0分
2 人评分
【计算球体积】 (C语言代码)浏览:1070 |
C语言训练-8除不尽的数 (C语言代码)暴力解法,答案只有一个,直接输出就好了浏览:1045 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:640 |
简单的a+b (C语言代码)浏览:594 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:986 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:561 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:693 |
字符串的输入输出处理 (C语言代码)浏览:1019 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:642 |
IP判断 (C语言描述,蓝桥杯)浏览:1118 |