자료구조 4장 연습문제(짝수)
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

자료구조

Report#2
-chapter 4-

02 ~ 38 (짝수 문제 풀이)

본문내용

조건 : 첫줄은 n, 다음줄은 2n, 그다음 줄은 4n, ... 이처럼 출력하되 3600보다 큰 첫 숫자를 만날 때 까지만 출력한다. 이후 프로그램은 거꾸로 이전에 출력했던 숫자를 역순으로 표시해야 한다.
void NO(int N){
if (N <= 3600){
printf ("%d",N);
NO(2N);
}
printf ("%d",N);
}
30. 재귀 호출 함수 실행을 반드시 끝내기 위해서 존재해야 할 두가지 특성은 무엇인가?
재귀호출시에 종료 조건이 있어야 한다.
분할 정복이 되어야 한다.
32. 다음 프로그램의 출력에 대해 설명하라.
#include
main(){
recursive(1);
}
int recursive (int n){
if (n > 10) return;
printf("%i\n",n);
recursive (n+1);
}
recursive(1)에 의해 1부터 if (n > 10) 에 의해 10까지 출력 된다
34. 문자열 “Korea"가 넘겨질 때 [코드 4-5]의 first와 last값이 어떻게 변하는지 또 어떤 순서로 문자가 찍히는지 확인하라.
=>first = 0, last = 4 K
first = 1, last = 4 o
first = 2, last = 4 r
first = 3, last = 4 e
first = 4, last = 4 a
first = 5, last = 4
36. 10진수 N을 2진수로 변환하여 출력하기 위한 다음 C함수의 빈곳을 완성하라.
void Convert ( int n )P
if (n==0)
return;
else{
Convert( n/2 ); => 2로 나눈 값을 넘겨주고
printf("%d", n%2 ); => 나누었을 때 나머지가 1이면 1출력
}
}
38. 다음 재귀호출 두 개가 서로 완전히 같은지 아닌지를 판단하라. 또, 어떤 표현 방식이 개념적으로 더욱 명확한지 판단하고 그 이유를 제시하라.
void Recurse ( int N ){
if ( N < 1)
return;
else{
Recurse ( N - 1);
cout << N;
}
}
void Recurse ( int N ){
if ( N < 1)
return;
Recurse ( N - 1);
cout << N;
}
}
완전 똑같다
판독력에서는 왼쪽 것이 좋다. 오른쪽은 프로그램상 문제가 없지만 얼핏보면 if문의 내용이
return 뒤에도 계속 되는것 처럼 보인다.

키워드

  • 가격1,000
  • 페이지수6페이지
  • 등록일2010.01.28
  • 저작시기2008.10
  • 파일형식한글(hwp)
  • 자료번호#578735
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니