用C语言D. 勤奋的大佬(循环) 题目描述 大佬每天都会到软工的实验室(7楼)学习,一天去三次。软工有两部电梯,其中有一部电梯每隔x天维修一次,(维修期间,电梯一整天都不工作),另一部电梯每隔y天维修一次,如果同一天两部楼梯都在维修期间,大佬只能爬楼梯,他想知道从第1天到第n天一共走了多少层楼梯?(设第0天两部电梯都在维修) 输入 第一行包含t组测试数据(t<=150) 每组测试输入3个数字x,y,n(0<=x<=1000 , 0<=y<=1000 , n<=1e9) 输出 输出走了多少层楼梯。 样例查看模式 正常显示查看格式 输入样例2 1 1 2 2 3 6 输出样例36 0
时间: 2023-07-16 13:12:42 浏览: 109
单片机C语言源码学习参考-用仿真屏循环显示李白的一首长诗.zip
以下是该题的C语言代码实现:
```c
#include <stdio.h>
int main() {
int t, x, y, n;
scanf("%d", &t); // 输入测试数据组数
while (t--) {
scanf("%d %d %d", &x, &y, &n); // 输入x、y、n
int sum = 0, i;
for (i = 1; i <= n; i++) {
if ((i % x == 0) && (i % y == 0)) {
// 如果两部电梯都在维修期间,大佬只能爬楼梯
sum++;
} else if (i % x == 0) {
// 如果第一部电梯在维修期间,大佬只能坐第二部电梯
continue;
} else if (i % y == 0) {
// 如果第二部电梯在维修期间,大佬只能坐第一部电梯
continue;
} else {
// 两部电梯都可以用
sum += 2;
}
}
printf("%d\n", sum * 7); // 一天三次,所以要乘以7
}
return 0;
}
```
该程序的基本思路是:
对于每一天,判断两部电梯是否坏了,如果坏了,则只能爬楼梯;如果没有坏,则可以用两部电梯,每天可以坐两次。最后将走的总层数乘以7输出即可。
阅读全文