算法:需要多少个不可分割的单位来掩盖一个随机数
本文关键字:掩盖 随机数 一个 多少 算法 不可分割 单位 | 更新日期: 2023-09-27 17:55:50
如何找到需要多少个不可分割的1,000
单位才能使一个随机数黯然失色?
例如,对于随机数5,123
我需要 6
x 1,000
来掩盖它,因此: MyAlgorithm(5123, 1000) = 6
1:我很抱歉,尽管我努力将我的问题表达成有意义的描述,但我的阅读障碍接管了,我希望这次编辑使它更容易理解。
好吧
,如果我理解你的问题,听起来你可以简单地将参数转换为小数,除法,然后使用Math.Ceiling
:
int output = (int)Math.Ceiling((decimal)5123 / (decimal)1000); // 6
或者,您可以避免转换并完全依赖整数除法和 % 运算符(模数),如下所示:
int output = (5123 / 1000) + (5123 % 1000 == 0 ? 0 : 1);
如果你想在一个方法中做到这一点,只需像这样包装它:
static int MyAlgorithm(int a, int b)
{
return (a / b) + (a % b == 0 ? 0 : 1);
}
如果我理解正确的话,这实际上只是一个单行:
public static int MyAlgorithm(int input, int units)
{
return input%units == 0 ? input/units : input/units + 1;
}
当它不仅仅是input/units + 1
的结果时,唯一的情况是没有余数的情况
public int MyAlgorithm(int x, int y)
{
int result = x / y;
return (result < 0) ? (result - 1): (result + 1);
}