Функция простого числа в 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 на самом деле тестирование для.

Ответы на вопрос(11)

Ваш ответ на вопрос