Я пытаюсь создать функцию для проверки, является ли заданное целое число простым числом, я попытался использовать следующее:
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
действительно тестирует.