-3
#!/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 での次のコードの実装に問題があります。ここで構文エラーを見つけることができませんでした。このコードを確認して修正していただけると大変助かります。

4

1 に答える 1

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
于 2013-05-24T20:24:58.690 に答える