연구과제_김수민_02

86 days ago by suminkim1317

# 01. x = math.log(27,45) y = math.log(9,5) result = 3/x - 2/y print("3/x - 2/y의 값은 %.1f이다." %result) 
       
3/x - 2/y의 값은 2.0이다.
3/x - 2/y의 값은 2.0이다.
# 02. result = math.pow(4,(-1/2)) * math.pow(math.pow(2,math.sqrt(3)), math.sqrt(3)/2) print("식의 값: %f"%result) print("sqrt(2): %f" %math.sqrt(2)) # 루트2와 답이 같음을 확인할 수 있다. 
       
식의 값: 1.414214
sqrt(2): 1.414214
식의 값: 1.414214
sqrt(2): 1.414214
# 03. result = math.log(4,2) - math.log(27,1/3) print("식의 값은 %d이다." %result) 
       
식의 값은 5이다.
식의 값은 5이다.
# 04. var('a') var('b') f(x) = x^2 + a # [조건 1] f(x) > 0 && f(0) != 1 anum = [i for i in range(1,100)] # 조건 1을 만족시키는 a의 집합 g(x) = b*x^2 + (-2)*b*x + 4 # [조건 2] g(x) > 0 solve([((-2)*b)^2 -4*(b*4) < 0], b) # [조건 2]를 만족시키기 위해 판별식을 이용하여 b의 범위 구하기 bnum = [i for i in range(1,4)] # 조건 2를 만족시키는 b의 집합 print("a+b의 최솟값은 %d이다." %(min(anum)+min(bnum))) 
       
a+b의 최솟값은 2이다.
a+b의 최솟값은 2이다.
# 05. f(x) = log(x,10) + log(x^(1/2),10) # 3/2*log(x,10)이다. print(3/2*math.log(100,10) < 3/2*log(x,10)) # 100에 3/2*log(x,10)를 곱함 print(3/2*log(x,10) < 3/2*math.log(1000,10)) # 1000에 3/2*log(x,10)를 곱함 solve([3/2*log(x,10) == 4], x) # x가 10^(8/3) 임을 확인 print('x의 값은 10^(8/3)이다.') 
       
3/2*log(x)/log(10) > 3.0
3/2*log(x)/log(10) < 4.499999999999999
x의 값은 10^(8/3)이다.
3/2*log(x)/log(10) > 3.0
3/2*log(x)/log(10) < 4.499999999999999
x의 값은 10^(8/3)이다.
# 06. n1 = [27, 81] # 3의 거듭제곱 중 두 자리의 자연수 n2 = [16, 64] # 4의 거듭제곱 중 두 자리의 자연수 num = n1 + n2 num.append(10) num.append(100) num.sort() high = [] for i in range(len(num)-1): print("%d <= n < %d일 때, log(n,3)과 log(n,4)의 정수부분은 각각 %d, %d이다." %(num[i], num[i+1], int(math.log(num[i], 3)), int(math.log(num[i], 4)))) if int(math.log(num[i], 3)) == int(math.log(num[i], 4)): high.append(num[i+1]-1) print("따라서 구하는 두 자리의 자연수 n의 최댓값은 %d이다." %max(high)) 
       
10 <= n < 16일 때, log(n,3)과 log(n,4)의 정수부분은 각각 2, 1이다.
16 <= n < 27일 때, log(n,3)과 log(n,4)의 정수부분은 각각 2, 2이다.
27 <= n < 64일 때, log(n,3)과 log(n,4)의 정수부분은 각각 3, 2이다.
64 <= n < 81일 때, log(n,3)과 log(n,4)의 정수부분은 각각 3, 3이다.
81 <= n < 100일 때, log(n,3)과 log(n,4)의 정수부분은 각각 4, 3이다.
따라서 구하는 두 자리의 자연수 n의 최댓값은 80이다.
10 <= n < 16일 때, log(n,3)과 log(n,4)의 정수부분은 각각 2, 1이다.
16 <= n < 27일 때, log(n,3)과 log(n,4)의 정수부분은 각각 2, 2이다.
27 <= n < 64일 때, log(n,3)과 log(n,4)의 정수부분은 각각 3, 2이다.
64 <= n < 81일 때, log(n,3)과 log(n,4)의 정수부분은 각각 3, 3이다.
81 <= n < 100일 때, log(n,3)과 log(n,4)의 정수부분은 각각 4, 3이다.
따라서 구하는 두 자리의 자연수 n의 최댓값은 80이다.
# 07. var('a') solve([pow(2,a) == pow(2,2)], a) # 지수의 최솟값이 a이므로 2^a = 2^2 a = math.log(4) / math.log(2) # 위 식에서 log(4)/log(2)임을 확인하고 a를 구한다. a = 2. f(x) = pow(2, pow(-(x-2), 2) + 6) # 이때 지수의 최댓값은 a+4=6이다. print("f(x)의 최댓값은 %d이다." %f(2)) # 즉, f(x)의 최댓값은 2^6 이다. 
       
f(x)의 최댓값은 64이다.
f(x)의 최댓값은 64이다.
# 08. var('k') var('t') f(t) = t^2 + k*t - 2*k - 3 solve([f(t) == 0], t) # 즉, t = -k/2를 축으로 하고, 아래로 볼록한 이차함수이다. solve([f(1) < 0], k) # -k/2 < 1 경우 k > -2 이면 성립한다. solve([t^2 -2*t + 1 > 1], t) # -k/2 = 1 경우 t > 1 인 실근이 없다. D = k^2 + 8*k + 12 # -k/2 > 1 경우 중근을 가져야 하기 때문에 판별식 이용. solve([D == 0], k) # k < -2 이므로 k = -6. num = [i for i in range(-6, 7)] # (가) 조건에 해당하는 k의 리스트 생성 num = num[5:] # (나) 조건에서 k>-2 적용 num.insert(0,-6) # (나) 조건에서 k = -6 적용 print(num) # (가), (나) 조건을 만족하는 정수 k 모두 출력 print("(가), (나) 조건을 만족하는 정수 k의 개수는 %d개다." %len(num)) 
       
[-6, -1, 0, 1, 2, 3, 4, 5, 6]
(가), (나) 조건을 만족하는 정수 k의 개수는 9개다.
[-6, -1, 0, 1, 2, 3, 4, 5, 6]
(가), (나) 조건을 만족하는 정수 k의 개수는 9개다.
# 09. var('a') f(x) = a-(a*0.01*x) # a에서 불순물 양의 x% 제거 g(x) = pow(a(1-(0.01*x)),5) # 정수 작업 5회 반복한 불순물의 양 solve([g(x) <= 0.1*a], a) # g(x)는 0.1*a 보다 작거나 같음 print(solve(1-0.01*x <= 0.631, x)) 
       
[[x >= (369/10)]]
[[x >= (369/10)]]
# 10. p1 = plot(sin(x),-10,10) p2 = plot(cos(x),-10,10) p3 = plot(tan(x),-10,10) # sin(x) * cos(x) < 0을 만족시키는 각 x는 제 2,4사분면 각이다. # sin(x) * tan(x) > 0 을 만족시키는 각 x는 제 1,4사분면 각이다. print('제 %d사분면' %4) # 따라서 동시에 만족시키는 각 x는 제 4사분면이다. show(p1) # sin(x) 그리기 show(p2) # cos(x) 그리기 show(p3) # tan(x) 그리기 
       
제 4사분면


제 4사분면