본문 바로가기

Programming Language/Python3.6

모두의 알고리즘 with 파이썬 (컴퓨팅 사고를 위한 기초 알고리즘) - 문제 01

 

1부터 n까지 연속한 숫자의 합을 구하는 알고리즘 (1)

알고리즘을 하나의 함수로 만들어 입력은 인자로 전달하고, 출력은 함수의 결괏값(return 값)으로 만들면, 알고리즘이 "입력 - 알고리즘 - 출력"을 수행하는 과정이라는 것을 더 직관적으로 이해할 수 있다.

 

1부터 n까지 연속한 숫자의 합을 구하는 알고리즘 (2)

1부터 n까지 연속한 숫자의 합을 구하는 알고리즘 (1)은 n이 커질수록 덧셈을 훨씬 더 많이 반복해야 하지만, 두 번쨰 방법은 n 값의 크기와 상관없이 덧셈, 곱셈, 나눗셈을 각각 한 번씩만 하면 답을 얻을 수 있다.

따라서 (2)의 방법이 더 간단하고 직관적인 알고리즘이다.

 

연습 문제 1-1

1부터 n까지 연속한 숫자의 제곱의 합을 구하는 프로그램을 for 반복문으로 만들기

 

연습 문제 1-2

연습 문제 1-1 프로그램의 계산 복잡도는?

 

연습 문제 1-3

for 반복문 대신 n(n+1)(2n+1)/6 공식을 사용하면 알고리즘의 계산 복잡도는?

반응형