如何确定哪些数字位于某个范围内

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)