반응형
자료구조에 list 부분 연습문제로 다항식 계산하는 문제가 나왔는데,
책에서 원한 방식은 클래스로 구현하는 것 같았지만!
아직 그정도 실력은 아니기 때문에 그냥 구현했다 ㅋㅋㅋ
거기에 다항식 어떻게 출력할지 몰라서 한 줄에 한 항씩 표시되는,,,,
언젠간 수정,,, 할 수 있다면,, 하는 걸루,,ㅎㅎ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
max_degree = int(input("다항식의 최고차항을 입력하세요: "))
poly_in=[]
for i in range(max_degree,-1,-1):
print("x^",i,"의 계수는? : ")
a=int(input())
poly_in.append(a)
print(poly_in)
poly_in.reverse()
for i in range(len(poly_in)-1,-1,-1):
if i != 0:
print(poly_in[i],"x^",i,"+")
else: print(poly_in[0])
x=int(input("정수의 미지수 값을 입력하세요: "))
sum=0
for i in range(len(poly_in)-1,-1,-1):
re=poly_in[i]*x**i
sum+=re
print(sum)
a=input("다른 다항식이랑 계산 기기?[y/n]: ")
poly_add=[]
if a=='n': print("빠잉~!")
elif a=='y' :
max_degree = int(input("다항식의 최고차항을 입력하세요: "))
for i in range(max_degree,-1,-1):
print("x^",i,"의 계수는? : ")
a=int(input())
poly_add.append(a)
print("입력한 다항식 1: ", poly_in)
print("-------------")
poly_add.reverse()
print("입력한 다항식 2: ",poly_add)
ca=int(input("다항식 덧셈:1 다항식 뺄셈:2 다항식 곱셉:3 : " ))
if ca==1:
if len(poly_in)>len(poly_add):
poly_in_copy=list(poly_in)
for i in range(len(poly_add)):
poly_in_copy[i]=poly_in[i]+poly_add[i]
print(poly_in_copy)
else:
poly_add_copy=list(poly_add)
for i in range(len(poly_in)):
poly_add_copy[i]=poly_in[i]+poly_add[i]
print(poly_add_copy)
elif ca==2:
if len(poly_in)>len(poly_add):
poly_in_copy=list(poly_in)
for i in range(len(poly_add)):
poly_in_copy[i]=poly_in[i]-poly_add[i]
print(poly_in_copy)
elif len(poly_in)<len(poly_add):
poly_add_copy=list(poly_add)
for i in range(len(poly_in)):
poly_add_copy[i]=poly_add[i]-poly_in[i]
print(poly_add_copy)
elif len(poly_in)==len(poly_add):
if poly_in[-1]>poly_add[-1]:
poly_in_copy=[]
poly_in_copy[i]=poly_in[i]-poly_add[i]
print(poly_in_copy)
else:
poly_add_copy = []
poly_add_copy[i] = poly_add[i] - poly_in[i]
print(poly_add_copy)
elif ca==3:
poly_multi=[0]*(len(poly_in)+len(poly_add)-1)
for i in range(len(poly_in)):
for j in range(len(poly_add)):
poly_multi[i+j]+=poly_in[i]*poly_add[j]
print(poly_multi)
|
cs |
반응형
'CS? > 코딩끄적' 카테고리의 다른 글
[python : 자료구조] 선형 리스트 자리찾기 및 삽입 (0) | 2022.03.28 |
---|---|
[python] escape 문자 & escape 문자 무시하기 (0) | 2021.12.29 |
[Python] 전치행렬 구현 코드 (numpy 없이 구하기) (0) | 2020.04.06 |