0

数値が PARI/GP リスト内にあるかどうかを知りたいのですが、その方法がわかりません。これが私のコードです。

mylist = listcreate();

... here I add some numbers with  listput(mylist,XXXX)

/* How can I do the condition in the if... */
if(mynumber in mylist,print("SUCCESS"),print("ERROR"))

いくつかのスクリプトを Python から PARI/GP に移行していますが、それらの基本的なことを理解できていません。マニュアルに従うのは少し難しいです。ありがとうございました!

4

1 に答える 1

2

次のように、指定された値がリスト、ベクトル、または列ベクトルに含まれているかどうかをテストできます。

inList(list, value)=for(i=1,#list, if(list[i]==value, return(i))); 0

またはそれほど効率的ではありません

inlist(list, value)=#select(n->n==value, list) > 0

あなたの例は次のようになります

if(inList(mylist, mynumber), print("SUCCESS"), print("ERROR"))

ただし、多くのクエリを実行する場合は、代わりに二分探索を使用する価値があります。

myset = Set(mylist);
if(setsearch(myset, mynumber), print("SUCCESS"), print("ERROR"))
于 2015-06-18T13:55:33.523 に答える