我该如何制作一个函数,以使x
的值范围从x=0
到x=19
,如果x
的值超过19或小于零,我该如何对其进行环绕
从:x=20, x=21, x=22
和x=(-1), x=(-2), x=(-3)
至:x=0, x=1, x=2
和x=19, x=18, x=17
分别?
我听说过模数运算,这显然是我应该处理的方式。
最佳答案
通常您会使用内置函数mod
和rem
,但是我认为它们是家庭作业的禁忌。因此,您可以编写自己的函数,例如
mod20 x | x < 0 = ...
| x > 19 = ...
| otherwise = x
您可以尝试填写
...
的不同方法。最简单的方法之一是重复加法或减法,但是我不想破坏所有乐趣。有了此功能后,您可以在每次“正常”算术运算后(例如,
mod20 (12 + 17)
。