#!/bin/ksh
extended_gcd()
{
a=$1
b=$2
x=0;
lastx=1;
y=1;
lasty=0;
while ((b!=0));
do
quotient=$a/$b
tmp3$b
b=$(($a%$b))
a=$tmp3
tmp3=$x
$x=$lastx-$quotient*$x
$lastx=$tmp3
tmp3=$y
$y=$lasty-$quotient*$y
$lasty=$tmp3
done
echo $lastx $lasy
}
var = $(extended_gcd $1 $2)
echo $var
大家好,
最近,我在Unix上执行以下代码时遇到问题。我无法在这里找到语法错误。如果您能查看此代码并帮我纠正,我将非常感激。
答案 0 :(得分:0)
只需在调试模式 -x
中运行脚本,您就可以自行解决。
从最初看起来我看到了很多问题。当我通过每条线但我没有经过测试时,我试图清理。因此,您应该能够通过在调试模式下运行它来解决它。
#!/bin/ksh -x
extended_gcd() {
a=$1
b=$2
x=0;
lastx=1;
y=1;
lasty=0;
while [[ $b != 0 ]]; do
quotient=$(($a / $b))
tmp3=$b
b=$(($a % $b))
a=$tmp3
tmp3=$x
x=$(($lastx - $quotient * $x))
lastx=$tmp3
tmp3=$y
y=$(($lasty - $quotient * $y))
lasty=$tmp3
done
echo $lastx $lasty
}
extended_gcd $1 $2