728x90

알고리즘(Algorithm) 2

1부터 10까지 숫자를 합하는 알고리즘

가장 기초적인 알고리즘인 범위내의 숫자를 합하는 알고리즘이다. 숫자를 합하는 알고리즘은 대표적으로 2가지 방법이 있는데, 첫 번째 방법은 반복문을 이용해 숫자를 더하는 방식이다. 이 방식은 쉽지만 시작과 끝 숫자의 차이가 크다면 그만큼 반복을 해야하기 때문에 성능에 영향을 줄 수 있다.두 번째 방법은 천재 수학자인 가우스가 사용했다고 알려진 방법이다. 공식은 아래와 같다. $$\frac{n(n+1)}{2}$$ 1부터 100까지 더하는 문제라면 \(\frac{100(100+1)}{2}\) 이다. 이와 같은 알고리즘을 이용하면 반복문을 사용하지 않고 한번의 계산으로 값을 구할 수 있다. 그림으로 보면 아래와 같다. 제일 앞의 숫자와 제일 마지막 숫자의 합을 더하면 항상 101이 나온다. 그럼 1 부터 시작해..

절대값 알고리즘

파이썬으로 구현한 다양한 알고리즘에 대해서 코딩을 해보려고 한다. 우선 절대값 알고리즘을 만들었다. 절대값은 2가지 방법으로 만들 수 있다. 첫 번째 방법은 입력된 값이 0보다 크면 그대로 출력하고, 작으면 마이너스를 붙여서 출력한다. 이는 -1을 곱한 것과 같다고 보면 된다. 두 번째 방법은 입력된 값을 제곱하여 양수로 변경후 루트를 이용하여 다시 제곱하기 전의 값으로 만든다. 그러면 음수만 양수로 되는 효과를 얻을 수 있다. import math # 첫 번째 절대값 알고리즘 def abs_sign(num): if num >= 0: return num else: return -num # 두 번째 절대값 알고리즘 def abs_square(num): result = num * num return int(..

728x90