I've been trying to complete this assignment but I couldn't get what is asked, which is: in Python 3, Ask a user to enter an integer (1, 1000). Out of the list of the first prime numbers 2,3,5,7, print those prime numbers that are factors of the received integer.
I hope could help me to get this.
Asked
Active
Viewed 35 times
-2
-
4What have you tried so far? – Mureinik May 28 '18 at 04:29
-
`[i for i in [2, 3, 5, 7] if your_number % i == 0]` – user3483203 May 28 '18 at 04:32
1 Answers
0
def get_primes(n):
out = list()
sieve = [True] * (n+1)
for p in range(2, n+1):
if (sieve[p]):
out.append(p)
for i in range(p, n+1, p):
sieve[i] = False
return out
def get_factors(n):
output = list()
for i in range(1, n + 1):
if n % i == 0:
output.append(i)
return output
# input_number = input('Enter a number')
# input_number = int(input_number)
input_number = 30
primes = get_primes(input_number+1) # [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
factors = get_factors(input_number) # [1, 2, 3, 5, 6, 10, 15, 30]
prime_factors = list()
for i in factors:
if i in primes:
prime_factors.append(i)
print(prime_factors)
Output:
[2, 3, 5]
Code for getting prime numbers: Print series of prime numbers in python

Zilong Li
- 889
- 10
- 23