Forthで投稿です。
7 m !
などで法を変えられます。
以下、pForthでの実行結果です。
> 1 2 MOD+ .
3 ok
> 7 3 MOD+ .
0 ok
> 11 12 MOD+ .
3 ok
> 3 2 MOD- .
1 ok
> 2 3 MOD- .
9 ok
> 2 3 MOD* .
6 ok
> 11 12 MOD* .
2 ok
> 18 39 MOD* .
2 ok
1
2
3
4
5
6
7
8
9
10
11
VARIABLE m
10 m !
: NORMALIZE ( n -- n mod m , m is variable )
m @ MOD DUP 0< IF m @ + THEN ;
: MOD+ ( a b -- a+b mod m )
SWAP NORMALIZE SWAP NORMALIZE + NORMALIZE ;
: MOD- ( a b -- a-b mod m )
SWAP NORMALIZE SWAP NORMALIZE - NORMALIZE ;
: MOD* ( a b -- a*b mod m )
SWAP NORMALIZE SWAP NORMALIZE * NORMALIZE ;
horiuchi
#6064()
[
Other
]
Rating0/0=0.00
Rating0/0=0.00-0+
[ reply ]