【算法】放货物

该篇博客探讨了一个关于快递员小明如何使用最少的货车来运送快件的问题,其中货车的最大载货量和小明对数字13的忌讳是关键因素。通过分析,提出了针对不同货车载货量的解决方案,并给出了C语言的代码实现,用于计算最少货车数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

小明是一名快递员,他现在手上一共有N个快件需要运送。但是货车有限,所以我们希望用最少的货车来进行工作。现在已知,一辆车的限定额度为最多放置K件货物。此外,小明很不喜欢13这个数字,所以他不希望任何一辆货车中的货物数量为13。 现在小明想要知道,最少使用多少辆货车能够将这N个快件都放置到货车上。

输入描述:

题目包含多组输入,每一组输入一行两个数,分别表示N 和 K 1<=N<=1000 1<=K<=1000

输出描述:

输出一行一个数字,表示最优结果。

示例

输入

13 13
5 2

输出

2
3

分析

从题可知,要想让使用的货车数量最少,则应尽量将货车装满。由于货车不能装13件货物,但可以装大于或者小于13件货物,所以可以将输入的K(货车最大放置货物数)分为三种情况:
1、K < 13:无需考虑货物装13件货物的情况,即货车的最大满载量就是K,此时使用最少货车数量应该是:货物总量 / 货车最大满载量,且如果货物总量 / 货车最大满载量有余数则还需要再加一辆货车,如果没有余数则不需要再加货车。
2、K == 13:需要考虑货物装13件货物的情况,此时货车的最大满载量应该是12,则使用最少货车数量应该是:货物总量 / 12,且如果货物总量 / 12有余数则还需要再加一辆货车,如果没有余数则不需要再加货车。
3、K > 13:需要考虑货物装13件货物的情况,此时货车的最大满载量就是K,则使用最少货车数量应该是:货物总量 / 货车最大满载量,且如果货物总量 / 货车最大满载量有余数则还需要再加一辆货车,如果没有余数则不需要再加货车,如果该余数刚好是13,则还需要再加一辆车,即将这最后余下的分到两辆车。

参考代码

C语言实现

#include <stdio.h>

int solution(int N, int K) {
    int result;
    // TODO: 请在此编写代码
    if (K < 13) {
        result = N / K + (N % K > 0);
    } else if (K == 13) {
        result = N / 12 + (N % 12 > 0);
    } else if (K > 13) {
        result = N / K;
        if (N % K > 0) {
            result += 1;
            if (N % K == 13) {
                result += 1;
            }
        }
    } 
    return result;
}

int main() {
    int n, k;
    while (scanf("%d %d", &n, &k) != EOF)
    {
        int result;
        result = solution(n, k);
        printf("%d\n", result);
    }
    return 0;
}
newifi3 D2 是一款知名的路由器设备,而“老毛子固件”是一种第三方固件,常用于对路由器进行刷机以增加功能和改善性能。老毛子固件在安全性和稳定性上具有一定的优势,受到很多用户的喜爱。 然而,老毛子固件的默认密码是不同于原厂固件的。为了保护设备和用户的安全,建议在刷机之后立即修改密码。 具体设置密码的步骤如下: 1.连接电脑与newifi3 D2路由器设备,确保网络连接正常。 2.打开电脑上的浏览器,输入路由器管理界面地址,默认为192.168.1.1。 3.在登录界面,用户名一般默认为空,密码字段中输入默认的密码“admin”。 4.成功登录后,在路由器管理界面中找到设置选项或管理选项,点击进入。 5.在设置或管理选项中找到“密码设置”或“密码修改”等相关选项,点击进入密码设置界面。 6.在密码设置界面中,输入旧密码(默认为"admin"),然后输入您希望设置的新密码。为了确保密码的安全性,建议使用强度较高的密码,包含字母,数字和特殊字符,并且长度在8位以上。 7.保存设置后,重启路由器以使新密码生效。 需注意的是,由于不同版本的老毛子固件可能有所差异,以上步骤可能会有些细微的变化。因此,在进行设置之前,建议先查看官方文档或咨询老毛子固件的技术支持,以获取准确的设置步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

it_hao528

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

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

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

打赏作者

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

抵扣说明:

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

余额充值