CAFE

댓글

뒤로

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

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

댓글 리스트

  • 작성자 홍재연 작성시간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 그리고
    앞으로 질문은 가능한 각 공부방에서 하세요.

    질문 내용은 가능한 한 문제씩 분리해서 올려 주세요.
맨위로

카페 검색

카페 검색어 입력폼
카카오 이모티콘
사용할 수 있는 카페앱에서
댓글을 작성하시겠습니까?
이동시 작성중인 내용은 유지되지 않습니다.