출처 : LG 전자
다항식 계산하기
< Requirements >
임의의 n(2<=n<=4)차 다항식 값을 계산할 수 있는 함수를 하나만 정의한다.
사용자로부터 차수, 계수, x값을 입력받아 계산 결과를 출력한다.
차수, 계수, x값과 결과값 모두 int 타입을 사용한다.
degree = int(input("차수 입력(2~4) : "))
list = []
sum = 0
str = ""
def calculation(list, x):
global str, sum, tmp
# 1~n차 계산
for i in range(0, len(list)-1):
tmp = 1
str += ("%dx^%d+" % (list[i], (degree-i)))
tmp *= list[i]
for j in range(degree-i):
tmp *= x
sum += tmp
# 0차 계산
sum += list[degree]
str += ("%d " % list[degree])
str += (", x=%d -> %d" % (x, sum))
# main
# 리스트에 계수값 저장
for i in range(degree, -1, -1):
num = int(input("%d 차 계수 입력 : " % i))
list.append(num)
x = int(input("x값 입력 : "))
calculation(list, x)
print(str)
n = int(input("차수 입력(2~4) :"))
list =[]
sum, tmp = 0, 0
rslt = ''
for i in range(0, n+1):
list.append(0)
for i in range(0, n+1):
list[i] = int(input( str(n-i) + "차 계수 입력 : "))
x = int(input("x값 입력 : "))
for i in range(0, n):
tmp += list[i]
for j in range(n-i):
tmp *= x
sum += tmp
tmp = 0
sum += list[n]
i = 0
for j in range(n, 0, -1):
rslt += ("%dx^%d + " % (list[i], j))
i += 1
rslt += ("%d " % (list[n]))
rslt += ("= %d" % sum)
print(rslt)
'Computer Science > Programming practice' 카테고리의 다른 글
[JAVA] SW Expert Academy 1206 - S/W 문제해결 기본 (0) | 2018.07.04 |
---|---|
[Java] 최대공약수 구하기 (0) | 2018.04.07 |
[Python] 전등 관리 프로그램 (0) | 2018.01.14 |
[Python] 단어 관리 프로그램 (0) | 2018.01.08 |
[Python] 별 출력 프로그램 (0) | 2018.01.06 |