Реализация оператора по модулю как функция в C

Как мы можем реализовать оператор по модулю как функцию в C, не используя оператор?

14
задан Yktula 18 April 2010 в 03:38
поделиться

4 ответа

Простой:

Если частное a / b представимо, выражение (a / b) * b + a% b должен равняться a

(стандарт C99, 6.5.5 / 6).

5
ответ дан 1 December 2019 в 06:01
поделиться

Выполните целочисленное деление с последующим умножением и вычтите.

#include <stdio.h>
int main()
{
  int c=8, m=3, result=c-(c/m*m);
  printf("%d\n", result);
}
37
ответ дан 1 December 2019 в 06:01
поделиться

Вот, пожалуйста:

a % b = a - (b * int(a/b))
10
ответ дан 1 December 2019 в 06:01
поделиться

Вы можете смоделировать x% y , многократно вычитая y из x и отслеживая результат. На каждой итерации, если результат меньше y , то у вас есть остаток, и вы можете просто вернуть его.

6
ответ дан 1 December 2019 в 06:01
поделиться
Другие вопросы по тегам:

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