Функция простого числа в R
Я пытаюсь создать функцию для проверки, является ли данное целое число простым числом, я попытался использовать следующее:
tpn <- function(prime.num){
if(prime.num==2){
print("PRIME")
} else {
if(prime.num%%(2:(prime.num-1))!=0){
print("PRIME")
} else {
print("NOT PRIME")
}}}
Это не работает, хотя я не могу понять, почему. Я проверяю, можно ли разделить данное число на любое из целых чисел до этого числа без остатков. Если это не так, то число простое.
Другое решение, которое я нашел, было:
tpn <- function(pn){
if(sum(pn/1:pn==pn%/%1:pn)==2)
print("prime")
}
Это работает. Хотя я не могу понять, чтоsum(pn/1:pn == pn%/%1:pn) == 2
на самом деле тестирование для.