Example #1
0
def is_truncatable(n):

    if n < 10:
        return False

    n_str = str(n)
    for i in range(len(n_str)-1,0,-1):
        if not is_prime(int(n_str[:i])) or \
           not is_prime(int(n_str[i:])):
            return False

    return True
Example #2
0
def consider(b):

    print("Considering %d" % (b))

    max_len = 0
    max_a = 0
    n_a = 0
    for try_a in range(1000):
        if n_a % 100 == 0:
            sys.stdout.write("%s " % (try_a))
            sys.stdout.flush()

        for a in -try_a, try_a:
            n_a += 1

            n = 0
            v = value(a, b, 0)
            while True:
                if (v < max_prime and v not in primes) or not is_prime(v):
                    break
                else:
                    n += 1
                    v = value(a, b, n)

            if n > max_len:
                max_len = n
                max_a = a

    sys.stdout.write("\n")
    return max_len, max_a
Example #3
0
    def _execute_command(self):
        s = self._command_var.get()
        op_code = int(self._op_code)
        if op_code == 2:
            l = read_int_array(s, MIN_VALUE, MAX_VALUE)
            if l is None or len(l) != 2 or l[0] > l[1]:
                messagebox.showerror('Error', 'Wrong numbers')
            else:
                m, n = l[0], l[1]
                self._result_text.set_text(pn.get_random_prime_number(m, n))

        elif op_code == 3:
            value = read_int(s, MIN_VALUE, MAX_VALUE)
            if value is None:
                messagebox.showerror('Error', 'Wrong length of array')
            else:
                import time
                first = time.time()
                array = pn.get_random_prime_array(value)
                end = time.time()
                print('Time of execute method: {0}'.format(end - first))
                self._result_text.set_text(self._dump_json(array))

        elif op_code == 4:
            l = read_int_array(s, MIN_VALUE, MAX_VALUE)
            if l is None:
                messagebox.showerror('Error', 'Wrong array')
            else:
                self._result_text.set_text(pn.is_relative_primes(l))

        elif op_code == 5:
            l = read_int_array(s, MIN_VALUE, MAX_VALUE)
            if l is None:
                messagebox.showerror('Error', 'Wrong array')
            else:
                self._result_text.set_text(pn.is_pairwise_primes(l))

        elif op_code == 6:
            value = read_int(s, MIN_VALUE, MAX_VALUE)
            if value is None:
                messagebox.showerror('Error', 'Wrong number')
            else:
                self._result_text.set_text(pn.get_next(value, MAX_VALUE))

        elif op_code == 7:
            value = read_int(s, MIN_VALUE, MAX_VALUE)
            if value is None:
                messagebox.showerror('Error', 'Wrong number')
            else:
                self._result_text.set_text(pn.get_prev(value, MIN_VALUE))

        elif op_code == 8:
            value = read_int(s, MIN_VALUE, MAX_VALUE)
            if value is None:
                messagebox.showerror('Error',
                                     'Value must be in range(1, 10^9)')
            else:
                self._result_text.set_text(pn.is_prime(value))
Example #4
0
def is_truncatable(n):

    log_n = len(str(n)) - 1

    f1 = 10
    f2 = 10**log_n

    for i in range(log_n + 1):
        t1 = n % f1
        if not is_prime(t1):
            #print("Rejecting %d because %d not prime"%(n,n%f1))
            return False
        t2 = n // f2
        if not is_prime(t2):
            #print("Rejecting %d because %d not prime"%(n,n//f2))
            return False
        f1 *= 10
        f2 //= 10

    return True
Example #5
0
def is_right_truncatable(n):

    if n < 10:
        return False

    while n > 0:
        if not is_prime(n):
            return False
        n //= 10

    return True
def dist_primes(path, cities, prime_list, i):
    step = i + 2  # see above for arguments on this

    #make exception if i = len(path)-1, then it has to go back to 0
    if (i == len(path) - 1):
        if (step % 10 == 0):  #if step % 10 and not prime, take longer
            if is_prime(step, prime_list):
                return dist(cities, path[i], 0)
            else:
                return (1.10 * dist(cities, path[i], 0))
        else:
            return dist(cities, path[i], 0)

    #normal scenario, where i is in the middle
    if (step % 10 == 0):  #if step % 10 and not prime, take longer
        if is_prime(step, prime_list):
            return dist(cities, path[i], path[i + 1])
        else:
            return (1.10 * dist(cities, path[i], path[i + 1]))
    else:
        return dist(cities, path[i], path[i + 1])
Example #7
0
def solution(n=9):
    """find the biggest pandigital prime of n digits or less"""

    while n>1:
        pds = pandigital.pandigital_list(n)[::-1]
        for x in pds:
            if prime_numbers.is_prime(x):
                return x

        n = n - 1

    return 'none'
Example #8
0
def is_left_truncatable(n):

    if n < 10:
        return False

    factor = 10**(len(str(n)) - 1)
    while n > 0:
        if not is_prime(n):
            return False
        n %= factor
        factor //= 10

    return True
Example #9
0
def main():
    a = int(sys.argv[1])
    b = int(sys.argv[2])

    print("Considering n^2 + %dn + %d" % (a, b))

    n = 0
    v = value(a, b, n)
    vals = []
    while is_prime(v):
        vals.append(v)
        n += 1
        v = value(a, b, n)

    print("%d terms: %s" % (len(vals), " ".join([str(x) for x in vals])))
Example #10
0
def solution():

    primes = set(prime_numbers.primes(10000000))
    count = 0
    running_total = 0
    i = 2
    while count < 11 and i < 12:

        ndigit_candidates = candidates(i)
        for x in ndigit_candidates:
            if prime_numbers.is_prime(t_set(x)):
                print(x)
                count = count + 1
                running_total = running_total + x
        i = i + 1

    return running_total
Example #11
0
def test_is_prime():
    assert is_prime(2) == True
    assert is_prime(3) == True
    assert is_prime(-1) == False
    assert is_prime(4) == False
Example #12
0
 def test_string_input(self):
     prime = is_prime("2")
     self.assertFalse(prime)
Example #13
0
 def test_bigger_composite(self):
     prime = is_prime(1000000008)
     self.assertFalse(prime)
 def test_if_number_is_prime2(self):
     self.assertEqual(is_prime(7), True)
Example #15
0
 def test_input_negative_number(self):
     prime = is_prime(-234)
     self.assertFalse(prime)
Example #16
0
	def test_input_is_two (self):
		self.assertEqual (is_prime (2), 2)
Example #17
0
	def test_input_is_not_integer(self):
		self.assertEqual (is_prime("cats"), "Invalid")
Example #18
0
            input("Enter for continue...")

        elif op_code == 6:
            s = input("Enter value: ")
            value = read_int(s, MIN_VALUE, MAX_VALUE)
            if value is None:
                print("Wrong number")
            else:
                print(pn.get_next(value, MAX_VALUE))
            input("Enter for continue...")

        elif op_code == 7:
            s = input("Enter value: ")
            value = read_int(s, MIN_VALUE, MAX_VALUE)
            if value is None:
                print("Wrong number")
            else:
                print(pn.get_prev(value, MIN_VALUE))
            input("Enter for continue...")

        elif op_code == 8:
            s = input()
            value = read_int(s, MIN_VALUE, MAX_VALUE)
            if value is None:
                print("Value must be in range(1, 10^9)")
            else:
                print(pn.is_prime(value))
            input("Enter for continue...")

        elif op_code == 9:
            break
def test_is_prime():
    assert is_prime(-1) is False
    assert is_prime(0) is False

    assert is_prime(4) is False
    assert is_prime(6) is False
    assert is_prime(8) is False
    assert is_prime(9) is False
    assert is_prime(10) is False
    assert is_prime(12) is False
    assert is_prime(14) is False
    assert is_prime(15) is False
    assert is_prime(16) is False
    assert is_prime(18) is False
    assert is_prime(20) is False
    assert is_prime(21) is False
    assert is_prime(22) is False
    assert is_prime(24) is False
    assert is_prime(25) is False
    assert is_prime(26) is False
    assert is_prime(27) is False
    assert is_prime(28) is False
    assert is_prime(30) is False
    assert is_prime(32) is False
    assert is_prime(33) is False
    assert is_prime(34) is False
    assert is_prime(35) is False
    assert is_prime(36) is False
    assert is_prime(38) is False
    assert is_prime(39) is False
    assert is_prime(40) is False
    assert is_prime(42) is False
    assert is_prime(44) is False
    assert is_prime(45) is False
    assert is_prime(46) is False
    assert is_prime(48) is False
    assert is_prime(49) is False
    assert is_prime(50) is False
    assert is_prime(51) is False
    assert is_prime(52) is False
    assert is_prime(54) is False
    assert is_prime(55) is False
    assert is_prime(56) is False
    assert is_prime(57) is False
    assert is_prime(58) is False
    assert is_prime(60) is False
    assert is_prime(62) is False
    assert is_prime(63) is False
    assert is_prime(64) is False
    assert is_prime(65) is False
    assert is_prime(66) is False
    assert is_prime(68) is False
    assert is_prime(69) is False
    assert is_prime(70) is False
    assert is_prime(72) is False
    assert is_prime(74) is False
    assert is_prime(75) is False
    assert is_prime(76) is False
    assert is_prime(77) is False
    assert is_prime(78) is False
    assert is_prime(80) is False
    assert is_prime(81) is False
    assert is_prime(82) is False
    assert is_prime(84) is False
    assert is_prime(85) is False
    assert is_prime(86) is False
    assert is_prime(87) is False
    assert is_prime(88) is False
    assert is_prime(90) is False
    assert is_prime(91) is False
    assert is_prime(92) is False
    assert is_prime(93) is False
    assert is_prime(94) is False
    assert is_prime(95) is False
    assert is_prime(96) is False
    assert is_prime(98) is False
    assert is_prime(99) is False

    assert is_prime(2) is True
    assert is_prime(3) is True
    assert is_prime(5) is True
    assert is_prime(7) is True
    assert is_prime(11) is True
    assert is_prime(13) is True
    assert is_prime(17) is True
    assert is_prime(19) is True
    assert is_prime(23) is True
    assert is_prime(29) is True
    assert is_prime(31) is True
    assert is_prime(37) is True
    assert is_prime(41) is True
    assert is_prime(43) is True
    assert is_prime(47) is True
    assert is_prime(53) is True
    assert is_prime(59) is True
    assert is_prime(61) is True
    assert is_prime(67) is True
    assert is_prime(71) is True
    assert is_prime(73) is True
    assert is_prime(79) is True
    assert is_prime(83) is True
    assert is_prime(89) is True
    assert is_prime(97) is True
Example #20
0
 def test_bigger_prime_number(self):
     prime = is_prime(1000000007)
     self.assertTrue(prime)
Example #21
0
 def test_is_two_prime(self):
     prime = is_prime(2)
     self.assertTrue(prime)
Example #22
0
 def test_valid_prime(self):
     prime = is_prime(7)
     self.assertTrue(prime)
Example #23
0
	def test_is_prime (self):
		self.assertEqual (is_prime(3), 3)
import prime_numbers as pn

if __name__ == '__main__':
    for idx in range(1, 101):
        if pn.is_prime(idx):
            print(idx, end=' ')
Example #25
0
	def test_input_is_not_negative(self):
		self.assertEqual (is_prime (-5), "Negative input")
Example #26
0
 def test_non_integer_input(self):
     prime = is_prime(2.1)
     self.assertFalse(prime)
 def test_if_number_is_prime(self):
     self.assertEqual(is_prime(1), False)
Example #28
0
 def test_is_one_prime(self):
     prime = is_prime(1)
     self.assertFalse(prime)
Example #29
0
def gen_prime_list(maxnumber=1000):
    primes = []
    for i in range(1, maxnumber + 1):
        if is_prime(i):
            primes.append(i)
    return primes
Example #30
0
 def test_composite_number(self):
     prime = is_prime(8)
     self.assertFalse(prime)