如何在Octave中正确编写C=(X∗2+4)mod26公式?
正确实现Octave中的公式C=(X∗2+4)mod26
你的问题出在mod函数的参数顺序上。Octave里mod(a, b)的定义是返回a除以b的余数,你之前把被除数和除数的位置搞反了——mod(26, ...)是让26作为被除数,当X*2+4的结果大于等于26时,26除以它的余数就是26本身,这才导致所有结果都是26。
正确的代码应该把计算式放在第一个参数位置,26作为除数:
c = mod(X * 2 + 4, 26);
举几个验证例子:
- 当X=0时,
0*2+4=4,mod(4,26)=4,符合预期 - 当X=11时,
11*2+4=26,mod(26,26)=0,计算正确 - 当X=12时,
12*2+4=28,mod(28,26)=2,结果正确
内容的提问来源于stack exchange,提问作者mahmo0od
相关产品推荐
相关产品推荐

