Homework 1 - Solutions

105 days ago by William_Stein

Undergraduate problems

#1. sum(1..2012) 
       
2025078
2025078
#2. def f(v): del v[len(v)//2] v=[1,2,8,15,'7'] f(v) v 
       
[1, 2, 15, '7']
[1, 2, 15, '7']
#3. len(str(factorial(10^6))) 
       
5565709
5565709
#4. def f(v): w = [type(x) for x in v] return list(sorted([w.count(x) for x in set(w)])) f([2, 1/3, 'hi', 3, 'abc', 'xyz']) 
       
[1, 2, 3]
[1, 2, 3]

Graduate Problems

#1. print sum(1..2012) n=2012; print n*(n+1)/2 s=0 for n in (1..2012): s += n print s s=0;n=1 while n<=2012: s += n n += 1 print s 
       
2025078
2025078
2025078
2025078
2025078
2025078
2025078
2025078
# 2. def sieve(n): v = [2] + [3, 5, .., n] # 2 and odd numbers up to n i = 1 while v[i] <= math.sqrt(n): v = v[:i+1] + [k for k in v[i+1:] if k%v[i]] i += 1 return v print sieve(11) print sieve(100) print len(sieve(1000)) 
       
[2, 3, 5, 7, 11]
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67,
71, 73, 79, 83, 89, 97]
168
[2, 3, 5, 7, 11]
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
168
# 3. i = CC.0 re = plot(lambda t: real(zeta(1/2+i*t)), (1, 200), plot_points=200) im = plot(lambda t: imag(zeta(1/2+i*t)), (1, 200), plot_points=200, color='red') show(re + im, figsize=[9,1]) 
       
complex_plot(zeta, (0, 2), (0, 15))