[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

On Wed, 15 Aug 2018 05:34:06 -0700, tomusatov wrote: > I am not terribly familiar with Python, but am currently authoring an > integer sequence for www.oeis.org and was wondering if anyone in the > community could help me with authoring a Python program that outputs, > "Composite numbers that are one less than a composite number." Do you have a function to test for primality? For now, I'll assume you do. def is_prime(n): # Returns True if n is prime, False otherwise. # implementation left as an exercise # 0 (and 1) are neither prime nor composite; skip them. # 2 and 3 are prime; start at the first composite, 4 i = 4 for j in range(5, 1001): if not is_prime(j): print(i) i = j The above will stop at 999. To go forever, use this instead: from itertools import count i = 4 for j in count(5): if not is_prime(j): print(i) i = j Alternatively, if you have a function which efficiently returns primes one at a time, you can do this: n = 4 # start at the first composite for p in primes(5): # primes starting at 5 print(list(range(n, p-1)) n = p + 1 This ought to print out lists of composites, starting with: [] [] [8, 9] [] [14, 15] etc. Take care though: I have not tested this code. -- Steven D'Aprano "Ever since I learned about confirmation bias, I've been seeing it everywhere." -- Jon Ronson

- Prev by Date:
**Program to output a subset of the composite numbers** - Next by Date:
**Program to output a subset of the composite numbers** - Previous by thread:
**Program to output a subset of the composite numbers** - Next by thread:
**Program to output a subset of the composite numbers** - Index(es):