Commit a1b27e17 authored by Samarth Joshi's avatar Samarth Joshi

Updating soln to return list

parent 932a7a51
import functools as ft import functools as ft
import sys import sys
import math
def Fib(n): def Fib(n):
primes = range(2, n+1) uniq = ft.reduce(lambda x,y: x.union(y), map(lambda x: set(range(x*x, n+1, x)), filter(lambda x: x*x<=n, range(2, n+1))), set())
return list(filter(lambda x: x not in uniq, range(2, n+1)))
space = filter(lambda x: x*x<=n, primes) print(Fib(int(sys.argv[1])))
multiples = map(lambda x: set(range(x*x, n+1, x)), space) \ No newline at end of file
uniq = ft.reduce(lambda x,y: x.union(y), multiples)
actual_primes = filter(lambda x: x not in uniq, primes)
output = ft.reduce(lambda x,y: str(x)+" "+str(y), actual_primes)
print(output + " ")
Fib(int(sys.argv[1]))
\ No newline at end of file
...@@ -5,6 +5,8 @@ def SieveOfEratosthenes(n): ...@@ -5,6 +5,8 @@ def SieveOfEratosthenes(n):
# Create a boolean array "prime[0..n]" and initialize # Create a boolean array "prime[0..n]" and initialize
# all entries it as true. A value in prime[i] will # all entries it as true. A value in prime[i] will
# finally be false if i is Not a prime, else true. # finally be false if i is Not a prime, else true.
if n==0:
return list()
prime = [True] * (n+1) prime = [True] * (n+1)
p = 2 p = 2
while (p * p <= n): while (p * p <= n):
...@@ -19,11 +21,12 @@ def SieveOfEratosthenes(n): ...@@ -19,11 +21,12 @@ def SieveOfEratosthenes(n):
prime[0]= False prime[0]= False
prime[1]= False prime[1]= False
# Print all prime numbers # Print all prime numbers
listp = []
for p in range(n + 1): for p in range(n + 1):
if prime[p]: if prime[p]:
print(str(p) + " ", end=''), #Use print(p) for python 3 listp.append(p), #Use print(p) for python 3
print() return listp
SieveOfEratosthenes(int(sys.argv[1])) print(SieveOfEratosthenes(int(sys.argv[1])))
\ No newline at end of file
#!/bin/bash #!/bin/bash
for i in {10..1000} for i in {2698..10000}
do do
python3 q1.py $i > mine python3 q1.py $i > mine
python3 sieve.py $i > sieves python3 sieve.py $i > sieves
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment