Back to Freecodecamp

Challenge 13: Unnatural Prime

curriculum/challenges/english/blocks/daily-coding-challenges-python/6821ebc9237de8297eaee78f.md

latest2.2 KB
Original Source

--description--

Given an integer, determine if that number is a prime number or a negative prime number.

  • A prime number is a positive integer greater than 1 that is only divisible by 1 and itself.
  • A negative prime number is the negative version of a positive prime number.
  • 1 and 0 are not considered prime numbers.

--hints--

is_unnatural_prime(1) should return False.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(1), False)`)
}})

is_unnatural_prime(-1) should return False.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(-1), False)`)
}})

is_unnatural_prime(19) should return True.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(19), True)`)
}})

is_unnatural_prime(-23) should return True.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(-23), True)`)
}})

is_unnatural_prime(0) should return False.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(0), False)`)
}})

is_unnatural_prime(97) should return True.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(97), True)`)
}})

is_unnatural_prime(-61) should return True.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(-61), True)`)
}})

is_unnatural_prime(99) should return False.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(99), False)`)
}})

is_unnatural_prime(-44) should return False.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_unnatural_prime(-44), False)`)
}})

--seed--

--seed-contents--

py
def is_unnatural_prime(n):

    return n

--solutions--

py
def is_unnatural_prime(n):
    abs_n = abs(n)

    if abs_n <= 1:
        return False

    for i in range(2, int(abs_n ** 0.5) + 1):
        if abs_n % i == 0:
            return False

    return True