unsigned int 형 값을 오버되는 값에 대해서 문의드립니다.

  • sonyy789
    sonyy789

    unsigned int 형이 오버되는 값에 대해서 1000000007 값으로 나눈 나머지 값을 출력하게 되있습니다. 이 점에서 궁금한것이
    :

    1. 함수 중간과정에 오버되는 것을 무시하고, 최종적으로 1000000007으로 한번 나눠주는 것인지

    2. 중간과정에서 오버될 시에 값으로 지속적으로 나눠주는건지

    3. 그 외의 방법인지

      이해가 잘 되지 않아서 질문드립니다.


    8년 전
4개의 댓글이 있습니다.
  • espuer
    espuer

    어떤 문제를 말씀하시는 지 모르겠는데 일반적인 조건이라면 2번이 맞을 것 같네요. 모든 해당 값을 구하는 중간과정에서 0xffffffff를 넘을 가능성이 있는 모든 문장에 대해서는 사전에 1000000007로 나누어주어야 overflow를 방지할 수 있지않을까요?


    8년 전 link
  • sonyy789
    sonyy789

    BRUTEFORCE 문제를 풀고 있습니다. 1번 방식으로 하다가 질문드렸는데,
    2번으로 다시 설계해봐야 될 꺼 같습니다. 답변 감사합니다.


    8년 전 link
  • VOCList
    VOCList

    말 그대로 최종 결과를 해당 수로 나눈 나머지를 출력하시면 됩니다.
    그 값이 int범위를 넘는지 아닌지는 답에 영향을 끼치는 부분이 아니지요.


    8년 전 link
  • sonyy789
    sonyy789

    중간 과정에서 unsigned int 형의 사이즈를 넘어버리면 아예 다른값으로 바뀌어 버리는걸로 알고 있습니다. 함수 처리 과정에서 넘는 부분에 대해 주기적으로 나눠줘야 할 것 같습니다.


    8년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.