0

我正在尝试在我的 TI-Nspire CX 中基于此 c++ 版本编写模块化逆函数。

到目前为止,我有以下代码:

Define LibPub modinv(a,b)=
Func
 Local b0,t,q,x0,x1
 0→x0
 1→x1
 If b=1 Then
   Return 1
 EndIf
 While a>1
 q:=((a)/(b))
 t:=b
 b:=mod(a,b)
 a:=t
 t:=x0
 x0:=x1-q*x0
 x1:=t
 EndWhile
 If x1<0 Then
   x1:=x1+b0
 EndIf
 Return x1
 EndFunc

当我运行程序时

invmod(26,3)

我收到此错误:

错误:未定义变量

当我“查看”该错误时,它显示该行有问题(我认为),因为光标向右移动到该行。

在此处输入图像描述

4

1 回答 1

1

您没有定义 b0,它具有象征意义。由于它是一个局部变量,所以不能离开作用域,即返回包含符号b0 的x1。

于 2020-05-11T06:37:56.070 回答