Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sage: prod( primes(15) )
- 30030
- sage: _.factor()
- 2 * 3 * 5 * 7 * 11 * 13
- N = 16
- R = [1..N]
- bad_n_values = []
- matches = {} # dictionary n -> j such that n+j shares no prime factors
- for n in [0..prod(primes(N))-1]:
- matches[n] = None # so far
- for j in R:
- k_match_was_found = False # so far
- for k in R:
- if k == j: continue
- if gcd(n+j, n+k) > 1:
- k_match_was_found = True
- break # the k loop
- if not k_match_was_found:
- matches[n] = j
- break # the j loop
- # if this point is reached, then matches[n] remains None
- if None in matches.values():
- print "NO MATCHES for the following values of n:"
- print [ j for j in matches.keys() if matches[j] == None ]
- else:
- print "OK"
- OK
- sage: for n in [1..20]: print n, '->', n+matches[n]
- 1 -> 11
- 2 -> 11
- 3 -> 11
- 4 -> 11
- 5 -> 11
- 6 -> 13
- 7 -> 13
- 8 -> 13
- 9 -> 13
- 10 -> 17
- 11 -> 17
- 12 -> 17
- 13 -> 17
- 14 -> 17
- 15 -> 17
- 16 -> 17
- 17 -> 19
- 18 -> 19
- 19 -> 23
- 20 -> 23
- P = prod(list(primes(15))) # 30030
- L = [ n for n in [17..30030.next_prime()] if gcd(n, P) == 1 ]
- gaps_list = [ L[k+1] - L[k] for k in range(len(L)-1) ]
- maximal_gap = max( gaps_list )
- print "Maximal gap is", maximal_gap
- print "Following intervals have a gap >16:"
- for k in range(len(L)-1):
- if L[k+1] - L[k] > 16:
- print L[k], L[k+1], ':: gap =', L[k+1] - L[k]
- Maximal gap is 22
- Following intervals have a gap >16:
- 2183 2201 :: gap = 18
- 5749 5767 :: gap = 18
- 9109 9127 :: gap = 18
- 9439 9461 :: gap = 22
- 13339 13357 :: gap = 18
- 16673 16691 :: gap = 18
- 20569 20591 :: gap = 22
- 20903 20921 :: gap = 18
- 24263 24281 :: gap = 18
- 27829 27847 :: gap = 18
- for k in range(len(L)-1):
- if L[k+1] - L[k] > 16:
- print "INTERVAL (", L[k], ',', L[k+1], ' ) :: gap =', L[k+1] - L[k]
- for n in range( L[k]+1, L[k+1]-16 ):
- solution = n + matches[n]
- print "tn = %s -> %s = %s" % ( n, solution, solution.factor() )
- INTERVAL ( 2183 , 2201 ) :: gap = 18
- n = 2184 -> 2197 = 13^3
- INTERVAL ( 5749 , 5767 ) :: gap = 18
- n = 5750 -> 5759 = 13 * 443
- INTERVAL ( 9109 , 9127 ) :: gap = 18
- n = 9110 -> 9119 = 11 * 829
- INTERVAL ( 9439 , 9461 ) :: gap = 22
- n = 9440 -> 9449 = 11 * 859
- n = 9441 -> 9449 = 11 * 859
- n = 9442 -> 9449 = 11 * 859
- n = 9443 -> 9449 = 11 * 859
- n = 9444 -> 9451 = 13 * 727
- INTERVAL ( 13339 , 13357 ) :: gap = 18
- n = 13340 -> 13351 = 13^2 * 79
- INTERVAL ( 16673 , 16691 ) :: gap = 18
- n = 16674 -> 16679 = 13 * 1283
- INTERVAL ( 20569 , 20591 ) :: gap = 22
- n = 20570 -> 20579 = 13 * 1583
- n = 20571 -> 20579 = 13 * 1583
- n = 20572 -> 20579 = 13 * 1583
- n = 20573 -> 20579 = 13 * 1583
- n = 20574 -> 20579 = 13 * 1583
- INTERVAL ( 20903 , 20921 ) :: gap = 18
- n = 20904 -> 20911 = 11 * 1901
- INTERVAL ( 24263 , 24281 ) :: gap = 18
- n = 24264 -> 24271 = 13 * 1867
- INTERVAL ( 27829 , 27847 ) :: gap = 18
- n = 27830 -> 27841 = 11 * 2531
Add Comment
Please, Sign In to add comment