如何确定哪些数字位于某个范围内
How to determine which numbers lie within a certain range
我目前有一个数字列表,我想知道这些数字中有哪些在某个范围内,以及它们在列表中的位置。
我是 pari 的新手,所以我不确定该怎么做。
我正在做的一个简单的例子:
Find the inverses of the numbers 1 to 20 which lie within the range 0.05 and 0.15
我设置了一个这样的列表:
A=[1/i|i<-[1..20]];
从这里开始,我想要一个所有 i 的列表,以便 A[i] 在该范围内。
但我不确定如何从这里开始。我尝试了一些简单的 if/for 语句,但这些语句不起作用。
我将如何尝试做这样的事情?
您想使用 select
:
或者:
select(i->A[i]>=0.05 && A[i]<=0.15, [1..#A])
或更紧凑地使用标志 1 到 return 索引:
select(v->v>=0.05 && v<=0.15, A, 1)
我目前有一个数字列表,我想知道这些数字中有哪些在某个范围内,以及它们在列表中的位置。
我是 pari 的新手,所以我不确定该怎么做。
我正在做的一个简单的例子:
Find the inverses of the numbers 1 to 20 which lie within the range 0.05 and 0.15
我设置了一个这样的列表:
A=[1/i|i<-[1..20]];
从这里开始,我想要一个所有 i 的列表,以便 A[i] 在该范围内。
但我不确定如何从这里开始。我尝试了一些简单的 if/for 语句,但这些语句不起作用。
我将如何尝试做这样的事情?
您想使用 select
:
或者:
select(i->A[i]>=0.05 && A[i]<=0.15, [1..#A])
或更紧凑地使用标志 1 到 return 索引:
select(v->v>=0.05 && v<=0.15, A, 1)