7-67 书虫

7-67 书虫

小明买了10本一样厚的书,按编号从1到10相邻着一起放在书架上,不巧其中1本跑进了1只书虫。这只书虫也怪,总是从某本书的第一页跑到另一本书的最后一页。每本书的厚度(不包括封面和封底)为v,每本书封面和封底厚度都是c,求书虫从第s本书开始爬到第t本书所爬过的距离。(书本序号从左往右从1开始编号)

输入格式:

测试数据有多组,每组4个整数v,c,s,t,含义如上,输入到文件尾结束。

输出格式:

对于每组测试,在一行上输出书虫所爬过的距离。

输入样例:

10 1 1 2
10 2 5 2

输出样例:

2
52

提示:

按一般习惯,放书时按编号从小到大,从左往右竖立,封面同向。

#include <stdio.h>

int main() {
    int v, c, s, t;
    while (scanf("%d %d %d %d", &v, &c, &s, &t) != EOF) {
        if (s < t) {
            printf("%d\n", (t - s - 1) * v + (t - s) * 2 * c);
        } else if (s==t) {
            printf("%d\n",s*v+2*c);
        } else {
            printf("%d\n", (s - t + 1) * v + (s - t)*2 * c);
        }
    }
}

思路

- 题目感觉有点绕,主要就是分从前往后和从后往前两种情况,然后进行数学加减乘除运算列出式子输出即可
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Likf(❁´◡`❁)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值