我想得到从3到100的素数,只使用'if','for','break','next'。当我运行代码时,什么也没有显示。代码中是否有错误?
for (i in 3:100) {
prime <- TRUE
for (k in (2:i-1)) {
if (i%%k == 0) {
prime = FALSE
break
}
}
if (prime==TRUE) {
print(i)
}
}
我想得到质数(如3,7,9,11,13,17,19,......)只使用'if','for','break','next'。
1条答案
按热度按时间blmhpbnm1#
@罗兰在评论中已经指出了错误所在,即
for (k in (2:(i-1)))
此外,您可以使用辅助函数
findPrimes
定义自定义函数f
,例如,和