Как я могу сделать модификацию без оператора Mod?

Этот язык сценариев не имеет % или Модификации (). У меня действительно есть Фиксация (), который обрубает десятичную часть числа. Мне только нужны положительные результаты, не становитесь слишком устойчивыми.

12
задан tladuke 9 April 2018 в 19:09
поделиться

4 ответа

Подойдет

// mod = a % b

c = Fix(a / b)
mod = a - b * c

? Я предполагаю, что вы можете хотя бы разделить здесь. На отрицательные числа все ставки отключены.

20
ответ дан 2 December 2019 в 04:16
поделиться

мод n = a - ( n * Fix (a / n))

6
ответ дан 2 December 2019 в 04:16
поделиться

Это может не сработать для вас с точки зрения производительности, но:

while (num >= mod_limit)
    num = num - mod_limit
0
ответ дан 2 December 2019 в 04:16
поделиться

Какой это язык?

Базовый алгоритм может быть таким:

hold the modulo in a variable (modulo);
hold the target number in a variable (target);
initialize modulus variable;

while (target > 0) {
  if (target > modulo) {
    target -= modulo;
  }
  else if(target < modulo) {
    modulus = target;
    break;
  }
}
1
ответ дан 2 December 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: