제곱근 구하기
제곱근을 손으로 구하는 계산 과정을 그대로 이용하여 정해놓은 N 자리까지 소수점을 구하는 코드
def getRoot(n):
left = 0
numbers = []
divisor = 0
loop = True
count = 100 # 소수점아래까지 구하는 한계점
while loop:
divisor = 0
for i in range(1, 11): # 1~10에 대해서
if (left * 10 + i) * i > n:
numbers.append(divisor)
n = (n - (left * 10 + divisor) * divisor) * 100
if n == 0:
loop = False
break
left = (left * 10 + divisor) + divisor
break
divisor = i
if len(numbers) == count:
loop = False
if len(numbers) == 1:
return []
return numbers
이 코드에서 count를 조정하면 원하는 자리수까지 뽑아낼 수 있다.
def printRoot(n):
r = getRoot(n)
return "{}.{}".format(r[0], "".join((str(x) for x in r[1:])))
printRoot(2)