검색결과 리스트
글
1부터 n까지 숫자를 합하는 알고리즘에 대해 알아봅시다.
앞선 블로그에서는 1부터 10까지 숫자를 합하는 연산에 대한 알고리즘을 공부했습니다.
먼저 알고리즘이라는 것은 문제를 푸는 방법이나 절차라고 말씀드렸습니다.
그렇다면 문제를 푸는 방법이나 절차는 한 가지 방법밖에 없을까요?
아니죠!!!!! 여러 가지 방법이 있겠죠.
그래서 1부터 10까지 또는 1부터 100까지 숫자를 합하는 방법도 또 있을 겁니다.
오늘은 천재 수학자 가우스가 어렸을 적 주변 사람들을 놀라게 한 방법을 통해 답을 구해 봅시다.
어린 가우스의 친구들은 우리가 지난 블로그 시간에 했던 것처럼 하나씩 더하고 하나씩 더하고... 를 반복했지만
어린 가우스는 다음 그림처럼 계산을 하고 답을 구했다고 합니다.
그러니까 n번째까지 101이 계속 50번 나오게 되니까 101 * 50 = 5050 이 되는 거죠. 기가 막히죠? ^^
그래서 이러한 내용을 바탕으로 다음과 같은 수식이 나오게 됩니다.
여기서 그럼 1부터 n까지의 숫자의 합을 구하는 알고리즘을 이용하여 파이썬으로 실행해 봅니다.
이렇게 실행하면 답은
55
5050
500500
이 됩니다.
결국 처음 시도한 하나하나 더하기를 하는 과정은 아래의 그림 같은 회수대로 더하기를 실행해야 하고
가우스의 방식대로 하자면 이렇게 n을 더하고 곱하고 나누면 간단하게 끝나게 되는 것이죠.
지금 보는 것처럼 어느 것이 더 효율적인지를 판단할 때 필요한 게 '알고리즘 분석'이며 프로그래밍에서 알고리즘 분석이 코딩의 효율을 높이는 좋은 방법이긴 한 것 같습니다.
다만, 수알못인 우리들이 이러한 내용을 모두 알긴 참... 어려운데... 뭐 .. 그래도한번 도~~~저언~~~~~ 해보실랍니까?

우수 직업전문학교 한국정보교육원
국비지원,교육비 전액무료,우수훈련기관 한국정보교육원
www.keduit.com
'알고리즘 이야기 with python' 카테고리의 다른 글
1부터 n까지의 곱을 구하는 알고리즘 이해하기 (팩토리얼 알고리즘) (0) | 2021.08.26 |
---|---|
1부터 10까지의 합을 구하는 알고리즘! (0) | 2021.08.13 |
알고리즘이 뭘까? (0) | 2021.08.12 |