책 내용 질문하기
Question. 1과목 실무 알고리즘 99p
도서
2021 시나공 정보처리산업기사 실기
페이지
99
조회수
226
작성일
2021-04-02
작성자
탈퇴*원
첨부파일

기사에서 나온 문제이긴 하지만, 산업기사 시험에서도 출제될 가능성이 있을 듯 싶어서 이렇게 문의 남겨드립니다

해설을 보았는데 내용이 전혀 감이 잡히지 않아서요

첫 번째는 rand()와 rand()%6이 나타내는 것이 무엇인지 궁금하고요, 그리고 결과가 어떤 식으로 축적이 되서

최종 값이 hist[1]=14, hist[2]=17, hist[3]=19, hist[4]=14, hist[5]=18, hist[6]=18이 어떻게 나오는지 설명 부탁드립니다.

답변
2021-04-05 16:48:27

안녕하세요 길벗수험서 운영팀입니다.

 

디버깅값은 아무 의미가 없습니다.

단순히 그러한 식으로 나타날 수 있다고 보여드린 것이죠.

 

C언어에서 rand()함수는 0~32767 사이의 무작위 정수를 반환하기 때문에, 이 것을 6으로 나눈 나머지를 구하게 되면 0~5 사이의 수가 무작위 수가 나오게 제한할 수 있게 됩니다.

(6으로 나눈 나머지는 0~5까지의 수 외의 다른 수가 나올 수 없으므로)

 

때문에 이렇게 나온 각 수들의 개수를 배열에 저장한 후, 마지막에 6면 주사위라고 하였으니 0을 1이, 1을 2가, ... 5를 6이 나왔다고 가정하고 그와 같이 출력한 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2021-04-05 16:48:27

    안녕하세요 길벗수험서 운영팀입니다.

     

    디버깅값은 아무 의미가 없습니다.

    단순히 그러한 식으로 나타날 수 있다고 보여드린 것이죠.

     

    C언어에서 rand()함수는 0~32767 사이의 무작위 정수를 반환하기 때문에, 이 것을 6으로 나눈 나머지를 구하게 되면 0~5 사이의 수가 무작위 수가 나오게 제한할 수 있게 됩니다.

    (6으로 나눈 나머지는 0~5까지의 수 외의 다른 수가 나올 수 없으므로)

     

    때문에 이렇게 나온 각 수들의 개수를 배열에 저장한 후, 마지막에 6면 주사위라고 하였으니 0을 1이, 1을 2가, ... 5를 6이 나왔다고 가정하고 그와 같이 출력한 것입니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.