H.W.1

while 문을 이용하여 다음 두 문제를 작성하라.

1. LaTeX: S_N=\sum_{n=1}^N\frac{1}{n}SN=∑n=1N1n을 N=10,100,1000,10000에 대하여 구한 후 LaTeX: S_NSN을 ln(N)의 함수로 그래프를 그려라.

2. LaTeX: S_N=\sum_{n=1}^N\frac{1}{n^2}SN=∑n=1N1n2을 N=10,100,1000,10000에 대하여 구한 후 LaTeX: S_NSN을 1/N의 함수로 그래프를 그려라.

import sys
import matplotlib.pyplot as plt
def S1(n):
#
#if(n==1): return 1
#return 1/n+S1(n-1)
sum=0
while(n):
sum+=1/n
n-=1
return sum
def S2(n):
#
#if(n==1): return 1
#return 1/(n**2)+S2(n-1)
sum=0
while(n):
sum+=1/(n**2)
n-=1
return sum
if __name__=="__main__":
sys.setrecursionlimit(10**5)
N=[10, 100, 1000, 10000]
N1=[]; N2=[]
N1X=[]
for i in N:
N1X.append(1/i)
N1.append(S1(i))
N2.append(S2(i))
plt.subplot(121)
plt.plot(N, N1)
plt.xscale("log")
plt.xlabel(r"$\log(N)$")
plt.ylabel(r"$\sum_{n=1}^{N}\frac{1}{n}$")
plt.subplot(122)
plt.plot(N1X, N2)
plt.xlabel(r"$N$")
plt.ylabel(r"$\sum_{n=1}^{N}\frac{1}{n^2}$")
plt.subplots_adjust(left=0.12, bottom=0.1, right=0.9, top=0.9, wspace=0.45, hspace=0.2)
plt.show()