CAFE

자유 게시판

선생님 이 문제가 이해안돼요

작성자꿈꾸는 바다사자|작성시간23.06.01|조회수175 목록 댓글 5

 

19번 문제랑  20번 문제가  이해가 안 됩니다

 

19번 문제는  풀어보니까 답이   f(13)인거  같은데  답은  2번이고

 

20번 문제는 어떻게 돌아가는지 잘 모르겠습니다

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자홍재연 | 작성시간 23.06.02 19번
    왜 답 f(13)인 것 같습니까?

    답변하기 전에 원시코드 관련 문제는 직접 컴파일하고 스스로 문제를 분석하면서 공부해야 합니다.
  • 작성자홍재연 | 작성시간 23.06.02 // 19 : 간단하게 해설하면 다음과 같다.
    ⋅for(b=0; x!=0; x>>1) → x값을 우측으로 1bit씩 시프트
    ↓x값을 우측으로 1bit씩 시프트시키면서 다음 조건문이 참이되면 b 값이 1증가
    ⋅if(x&01) b++;

    ⋅연산자 &는 비트 and 연산
    ⋅조건 x&01이 참이 되기 위해서는 x에 1이 존재해야 한다.

    ⋅x = 7을 4bit 2진수로 고치면 0111 → 1이 3개 존재하므로 조건 x&01은 3번 참이 됨, b = 3
    ⋅x = 10을 4bit 2진수로 고치면 1010 → 1이 2개 존재하므로 조건 x&01은 2번 참이 됨, b = 2
    ⋅x = 11을 4bit 2진수로 고치면 1011 → 1이 3개 존재하므로 조건 x&01은 3번 참이 됨, b = 3
    ⋅x = 13을 4bit 2진수로 고치면 1101 → 1이 3개 존재하므로 조건 x&01은 3번 참이 됨, b = 3
    ⋅x = 14를 4bit 2진수로 고치면 1110 → 1이 3개 존재하므로 조건 x&01은 3번 참이 됨, b = 3

    ⋅호출할 때 결과가 다른 하나는 f(10)이다.
    ⋅단지, 10을 2진수로 1010으로 1이 2개 존재하기 때문
  • 작성자홍재연 | 작성시간 23.06.02 20번 : 원시코드 중에서 모르는 부분이 무엇인가요?

    하나도 모르는 것은 아니지 않습니까?
  • 작성자홍재연 | 작성시간 23.06.02 20번 :

    // 소수 구하는 알고리즘으로 출력되는 내용은 다음과 같다.
    ⋅2 3 5 7 11 13 17 19 ....... 101 103 107 109 113 127
    ⋅즉, 2에서 130까지 정수 중에서 소수를 출력한다.

    ⋅소수 구하는 알고리즘이라는 것을 모르면 변수테이블을 그려서 하나씩 추적하는 방법밖에 없다.
  • 작성자홍재연 | 작성시간 23.06.02 그리고
    앞으로 질문은 가능한 각 공부방에서 하세요.

    질문 내용은 가능한 한 문제씩 분리해서 올려 주세요.
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼