You need to sign in or sign up before continuing.
Commit f3a19c48 authored by Roshan Rabinarayan's avatar Roshan Rabinarayan

updated q5

parents fcc97202 acf87d55
import functools as ft import functools as ft
import sys
def Fib(n): def Fib(n):
## write your code here primes = range(2, n+1)
\ No newline at end of file
space = filter(lambda x: x*x<=n, primes)
multiples = map(lambda x: set(range(x*x, n+1, x)), space)
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
import sys
def SieveOfEratosthenes(n):
# Create a boolean array "prime[0..n]" and initialize
# all entries it as true. A value in prime[i] will
# finally be false if i is Not a prime, else true.
prime = [True] * (n+1)
p = 2
while (p * p <= n):
# If prime[p] is not changed, then it is a prime
if (prime[p] == True):
# Update all multiples of p
for i in range(p * 2, n + 1, p):
prime[i] = False
p += 1
prime[0]= False
prime[1]= False
# Print all prime numbers
for p in range(n + 1):
if prime[p]:
print(str(p) + " ", end=''), #Use print(p) for python 3
print()
SieveOfEratosthenes(int(sys.argv[1]))
\ No newline at end of file
#!/bin/bash
for i in {10..1000}
do
python3 q1.py $i > mine
python3 sieve.py $i > sieves
diff -Z mine sieves > result
if [[ -s result ]];
then
echo failed $i
else
echo passed $i
fi
rm -f result
rm -f mine
rm -f sieves
done
\ No newline at end of file
...@@ -12,3 +12,23 @@ print(l) ...@@ -12,3 +12,23 @@ print(l)
L = [["this"],["is"],["the"],["easiest"],["problem"],["of"],["this"],["outlab"]] L = [["this"],["is"],["the"],["easiest"],["problem"],["of"],["this"],["outlab"]]
l=collapse(L) l=collapse(L)
print(l) print(l)
L = [["this"]]
l=collapse(L)
print(l)
L = [[], ["Once", "upon", "a", "time"], ["in", "a", "galaxy", "far", "far", "away"]]
l=collapse(L)
print(l)
L = [[str(2), "+", str(2)], ['='], [str(5)]]
l=collapse(L)
print(l)
L = [[],[],[],[],[],[]]
l=collapse(L)
print(l)
L = [[str(2), "+", str(2)], ['='], [str(5)]]
l=collapse(L)
print(l)
\ No newline at end of file
this is an interesting python programming exercise. this is an interesting python programming exercise.
this is a bad problem this is a bad problem
this is the easiest problem of this outlab this is the easiest problem of this outlab
this
Once upon a time in a galaxy far far away
2 + 2 = 5
2 + 2 = 5
\ No newline at end of file
import functools import functools
import operator
def collapse(L) : def collapse(L) :
flat = functools.reduce(lambda x,y: x+y, L)
if flat:
return functools.reduce(lambda x,y: x + " " + y, flat)
else:
return ""
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