2016年10月7日 星期五

找到最接近的數值

有一群從1911到2016的質數,想知道最靠近1975的質數是哪一個
用R語言可以這樣做(粗體是指令,Courier是R回傳的值):

> library("numbers")
> v <- Primes(1911, 2016)
> print(v)
 [1] 1913 1931 1933 1949 1951 1973 1979 1987 1993 1997 1999 2003 2011

> your.number <- 2000
> which(abs(v-your.number)==min(abs(v-your.number)))
[1] 11

> print(v[11])
[1] "1999"

在1911到2016這個區間總共有13個質數,最接近2000的是1999
以上程式碼參考Daniel Malter寫的《Find the closest value in a list or matrix》

_EOF_

沒有留言:

張貼留言