24/03/04 22:01:16.72 l4J6/jxJH.net
道具箱に追加
# n以下の素数を列挙
primes=\(n){
pmax=floor(sqrt(n))
p=(1:pmax)[-outer(2:pmax,2:pmax)][-1]
P=p[length(p)]+1
f=function(x) all(x%%p!=0)
c(p,(P:n)[sapply(P:n,f)])
}
# nが素数か判定
isprime=\(n){
pmax=floor(sqrt(n))
p=(1:pmax)[-outer(2:pmax,2:pmax)][-1]
!any(n%%p==0)
}