mod 연산이 엄청 느리다는 말을 들었습니다.
그런데 DP문제중에 답이 매우 커서 답을 1000,000,007로 나눈 나머지를 출력하라는 문제가 있었습니다.
그래서 DP테이블 하나하나마다 mod연산을 해주었는데요. 그래도 별로 느려지지 않았습니다.
그래서 든 궁금증인데요.
N%M연산은 N<M일 때 뭔가 내부적으로 알아서 따로 시간을 오래쓰지 않고 바로 N을 리턴하게 (최적화?) 되어있는 건가여?
이건 그냥 제 경험이지만 수식차이로 시간차이가 꽤 나는 문제에서
A % 10 하고 A - A /10 * 10 이 수행시간이 동일하더군요..
얄팍한 시스템 프로그래밍 지식으로는
나눗셈을 수행하면 어셈블리상에서 두 개의 register에 하나는 몫, 하나는 나머지가 들어가서
나눗셈과 mod가 둘 다 나눗셈을 합니다
http://embeddedgurus.com/stack-overflow/2011/02/ef...
이거 한 번 읽어보세요
댓글을 작성하려면 로그인해야 합니다.
lsc4719 9년 전
mod 연산이 엄청 느리다는 말을 들었습니다.
그런데 DP문제중에 답이 매우 커서 답을 1000,000,007로 나눈 나머지를 출력하라는 문제가 있었습니다.
그래서 DP테이블 하나하나마다 mod연산을 해주었는데요. 그래도 별로 느려지지 않았습니다.
그래서 든 궁금증인데요.
N%M연산은 N<M일 때 뭔가 내부적으로 알아서 따로 시간을 오래쓰지 않고 바로 N을 리턴하게 (최적화?) 되어있는 건가여?