ITES 문제에서 선형 합동 난수 생성기 질문드립니다. Signin 안녕하세요~ ITES 문제를 풀고 나서 문제 해결 전략 책을 보았는데요, 여기에서 선형 합동 난수 생성기의 구현이 이해가 가지 않아 이렇게 질문드리게 되었습니다. 제가 짠 코드는 아래와 같습니다. 매번 부를때마다, 전역 변수인 seed가 바뀌는 형태입니다. seed = 1983; int signal() { unsigned ret = seed; seed = (seed * 214013u) + 2531011u; return (ret % 10000 + 1); } 책에서 나온 코드는 아래와 같습니다. struct RNG { unsigned seed; RNG() : seed(1983) {} unsigned next() { unsigned ret = seed; seed = ((seed * 214013u) + 25311011u); return ret % 10000 + 1; } }; 보기에는 같은 원리인 것 같은데, RNG() : seed(1983) {} 줄부터의 문법이 잘 이해가 가지 않아서 질문드리게 되었습니다. 이에 대한 정보를 얻으려먼 어떻게 검색을 하면 될까요? 알려주시면 감사하겠습니다~! 11년 전
5개의 댓글이 있습니다. Being Wikipedia 를 참조하세요. 11년 전 link Kureyo 같은 원리에요 한쪽은 멤버변수를 사용한것일뿐.. 11년 전 link Signin 먼저 이 글을 질문게시판이 아니라 자유게시판에 올려서 죄송합니다. 처음 올릴 때는 분류를 클릭했었는데, 글을 날려먹고 재작성하면서 체크를 못했습니다.ㅎ 옮기도록 하겠습니다~ Being // 좋은 링크 감사합니다~! Kureyo // 그렇군요.. 처음 보는 문법이라서 질문드리게 되었습니다. 11년 전 link Being 저 키워드에서부터 출발해 슥 둘러보시면 책에 수록된 코드는 웬만하면 이해가 되실 거라 생각하는데, 기회 되시면 C++을 제대로 공부해 보시는 것도 좋은 경험이 되실 거예요 :) 11년 전 link Signin Being // 주신 링크를 보니 이해가 잘 갑니다 ㅎㅎ Java 클래스의 생성자와 멤버 함수와 같은 역할이군요~ 이 책을 보느라 C++은 딱 STL의 일부분만 공부했는데, 더 넓은 세계가 있었네요~ 좋은 조언 주셔서 고맙습니다~! 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
Signin
안녕하세요~
ITES 문제를 풀고 나서
문제 해결 전략 책을 보았는데요,
여기에서 선형 합동 난수 생성기의 구현이 이해가 가지 않아
이렇게 질문드리게 되었습니다.
제가 짠 코드는 아래와 같습니다.
매번 부를때마다, 전역 변수인 seed가 바뀌는 형태입니다.
책에서 나온 코드는 아래와 같습니다.
보기에는 같은 원리인 것 같은데,
RNG() : seed(1983) {} 줄부터의 문법이 잘 이해가 가지 않아서
질문드리게 되었습니다.
이에 대한 정보를 얻으려먼 어떻게 검색을 하면 될까요?
알려주시면 감사하겠습니다~!
11년 전