时升翠微上3 发表于 2018-1-22 18:03 
大佬!被你这么一说,我重新认真检查了一下自己的代码,请过目!
prime1
如果不考虑诸多容错,比如非正整数,3的判定等。还需要注意:
第一,j <- FALSE不必要,R不需要事先申明变量;
第二,j这个变量也不是必要存在的;
第三,x%%i是个标量,不需要用any;
我提供思路给你参考:
虽然R语言要尽量避免用for循环,但也不是绝对的,上面的例子中,只要出现第一个能整除的,整个函数就结束了,在很多场合反而更加有效率,当然,对于真正大的素数就会很慢。
这里就是一个R语言风格的编程了,用向量化来计算,因此不需要for循环。