gpt4 book ai didi

c++ - 如何将一个数字四舍五入为另一个数字的倍数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:27:56 25 4
gpt4 key购买 nike

<分区>

我正在尝试设计一个函数 int smallestDivisibleAfter(int number, int divisor) 以便它返回大于或等于 number 的可整除的最小数字通过 divisor(非零)。这里假设所有输入和输出都是非负的。

例子:

smallestDivisibleAfter(9,4); // Returns 12
smallestDivisibleAfter(16,2); // Returns 16

我想到了代码 number + divisor - number % divisor。然而,当 number % divisor == 0 时,这将停止工作,从那时起 smallestDivisibleAfter(16,2);//返回 18 而不是 16

此外,number - 1 + divisor - (number - 1)% divisor 不起作用,因为 int 将被替换为 unsigned long long 当我将这段代码付诸行动时。

这里最好的解决方案是什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com