算法:需要多少个不可分割的单位来掩盖一个随机数

本文关键字:掩盖 随机数 一个 多少 算法 不可分割 单位 | 更新日期: 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);
}