RosettaCodeData/Task/Modular-arithmetic/Zkl/modular-arithmetic-1.zkl
2023-07-01 13:44:08 -04:00

9 lines
262 B
Text

class MC{
fcn init(n,mod){ var N=n,M=mod; }
fcn toString { String(N.divr(M)[1],"M",M) }
fcn pow(p) { self( N.pow(p).divr(M)[1], M ) }
fcn __opAdd(mc){
if(mc.isType(Int)) z:=N+mc; else z:=N*M + mc.N*mc.M;
self(z.divr(M)[1],M)
}
}