LoginSignup
1
0

More than 3 years have passed since last update.

逆置換を求めるプログラム

Posted at

逆置換を求めるプログラムです。置換、
     | 1 2 3 4 5 |
    ρ=| 1 5 3 2 4 |
の下の部分を、与えると、逆置換
        |1 2 3 4 5|
    ρ^-1=|1 4 3 5 2|
の下の部分を返します。
例えば、|1 5 3 2 4 |は、一つの数字列15324で与えます。
返り値も、一つの数字列14352です。
なので、9桁までしか扱えません。

ターミナルから、
chmod +x rperm.pyで、実行権限を付けて、
./rperm.py 15324として、実行して下さい。

rperm.py
#!/usr/bin/python3
import sys

istr=sys.argv[1]
l=len(istr)
i=1
rstr=""
while(i<=l):
  k=1
  while(k<=l):
    if (int(istr[k-1])==i):
      rstr=rstr+str(k)
      break
    k+=1
  i+=1
print(rstr)

実行例

$ ./rperm.py 15324
14352
$ ./rperm.py 132
132
$
1
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0