• 검색 결과가 없습니다.

보고서#2 (due 3/29)

N/A
N/A
Protected

Academic year: 2021

Share "보고서#2 (due 3/29)"

Copied!
8
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

보고서#2 (due 3/29)

 제출 방법:

대학 학습플랫폼(Lms)에 명시된 기간내 제출

설정된 제출 기간( 3/29 12:00 pm)이 지나면 제출할 수 없음에 유의 하기 바람

1

(2)

문제 #1

 다음에 답하시오.

크기가 n*n인 두 행렬 A, B를 매개변수로 전달받아서, 두 행렬을 곱 한 결과를 포함하는 C 행렬을 (즉, A * B = C) 매개변수로 반환하는 알고리즘 mult를 작성하라.

위 알고리즘 mult에 포함된 연산 회수를 계산하여 시간 복잡도 함수 T(n)을 구하라.

위에서 구한 T(n)을 빅오 표기법으로 나타내라. 그 이유를 주라.

(3)

문제 #2

 문제 #1의 알고리즘 mult()를 C 함수로 작성하라.

 mult() 함수의 실행시간을 다음 main() 함수를 이용하여 측정하고 , 행렬의 크기 n 대비 함수의 실행시간을 테이블 및 그래프로 각 각 나타내라. n의 크기를 10, 20, 30, 40, 50으로 설정하라.

3

main() {

행렬의 크기 n을 입력

A, B의 2개 행렬 초기화 // getMat(A) 함수 작성 (1~10의 난수 // 발생하여 행렬을 채운다)

// A, B의 행렬 크기는 n*n으로 설정 mult(A, B, C);

A, B, C의 행렬 출력 // printMat(A) 함수 작성 }

(4)

문제 #3

 크기가 n인 배열 a에서 임의의 위치 loc(0≤ loc ≤ n-1)에 위치 한 원소를 삭제하는 다음 C 함수 delete()를 작성하라. 원소가 삭 제되면, 그 뒤에 있는 정수들은 한 칸씩 앞으로 당겨져야 한다.

void delete(int a[], int n, int loc)

// n은 배열 크기, loc는 삭제 위치

 위의 함수의 최악, 최선, 평균적인 경우의 시간 복잡도는 각각 무 엇인가? 빅오 표기법으로 나타내라.

(5)

문제 #4

 다음은 두 수 u, v에 대한 최대공약수를 구하는 C 함수 gcd()이다.

이 함수를 재귀적 버전인 gcd_rec()를 작성하라.

 위에서 작성한 함수를 main() 함수를 작성하여 테스트하라.

5

int gcd(int u, v) {

while (u != v) { if (u > v)

u = u-v;

else

v = v-u;

}

return u;

}

(6)

문제 #5

 한 개의 정수 n을 전달받아서, 이 수에 포함된 숫자(digit)의 개수 를 반환하는 순환 함수 count()를 작성하라. 가령, n = 12345이면 , 12345에 포함된 숫자가 1, 2, 3, 4, 5의 5개 숫자를 포함하므로 5를 반환한다. 단, 함수 작성시에 지역 변수를 사용하면 안된다.

 위에서 작성한 함수를 main() 함수를 작성하여 테스트하라.

(7)

문제 #6

 2보다 크거나 같은 한 개의 정수를 전달받아서, 이 수가 소수

(prime number)인지를 판단하고, 소수이면 1을, 그렇지 않으면 0 을 반환하는 순환 함수 isPrime()을 작성하라. 이 함수는 main() 에서 다음과 같이 호출된다: isPrime(n, 2);

 위에서 작성한 함수를 main() 함수를 작성하여 테스트하라.

7

(8)

문제 #7

 Ackermann 함수는 다음과 같이 정의된다. 다음에 답하시오.

a. A(3,2)와 A(2,3)의 값을 각각 구하시오. 그 과정을 보여야 한다.

b. Ackermann 함수의 재귀적 C 함수 Acker(m, n)을 작성하라.

c. 위에서 작성한 Acker()를 호출하는 main()을 작성하고, 실행을 통해 서 A(3,2), A(2,3을 테스트하라.

A(0, n) = n+1

A(m, 0) = A(m-1,1)

A(m, n) = A(m-1, A(m,n-1)) m, n >= 1

참조

관련 문서

본 연구원에서는 공개채용 서류접수와 관련하여 귀하의 개인정보를 아래와 같이 수집·이용하고자 합니다. 수집된 개인정보는 채용업무

멘토링 과정에서는 많은 어려움이 발생하기 때문에 초지일관 자신 감과참을성을 가지고 끈질기게 멘토링에 참여하는 것이 필요하다. 계획된 멘토링에 진지하고 헌신적으로

그러므로 ㉥ ‘김 선생님’은 현재의 담화 상황에 참여하지 않는 인물을 지칭하는 표현이라는 설명은 적절하다.. 그러므로 ㉤이 아버지가 지금까지 은주와 나눈 대화의 화제

*단어 사이의 공통성과

약국은 당초 수집 목적과 합리적으로 관련된 범위에서 정보주체에게 불이익이 발생하는지 여부, 암호화 등 안전성 확보에 필요한 조치를 하였는지 여부 등을

[r]

(Taekwondo, Weight Lifting Players) (90 min × 6 days/week) Warming

15) 세광음악출판사