1629번 - 곱셈
일단 해당 문제의 핵심은, 계산 횟수를 줄여야 한다는 것 까지는 알아냈습니다.
그래서 제곱 계산을 2 제곱 끼리 처리하며, 재귀로 묶어 연산 횟수를 줄이면서
동시에 C의 값 ( 코드 내에선 division )을 매번 나누면서 프로그래밍을 돌렸는데
어디에 제가 또 빠트린 부분이 있는가 싶어서 모르겠네요.. 힝..
B의 값이 0이거나 1이 되는 작은 값의 경우도 재귀의 조건에 달아두었는데, 추가적으로 체크해야하는 부분이 또 있을까요?
중간 계산과정에서 unsigned int범위를 초과할 수 있기때문에
Long long 자료형을 사용하시길 바랍니다.
long long 자료형을 사용해보았지만, 결과의 차이는 없었습니다 ㅠ
input * input 은 division이 이루어 지지 않았기때문에 long long으로도 오버플로우가 발생합니다.
정말 감사합니다! 그 부분까지는 미처 생각을 못했네요!
댓글을 작성하려면 로그인해야 합니다.
khj2804 8년 전 2
일단 해당 문제의 핵심은, 계산 횟수를 줄여야 한다는 것 까지는 알아냈습니다.
그래서 제곱 계산을 2 제곱 끼리 처리하며, 재귀로 묶어 연산 횟수를 줄이면서
동시에 C의 값 ( 코드 내에선 division )을 매번 나누면서 프로그래밍을 돌렸는데
어디에 제가 또 빠트린 부분이 있는가 싶어서 모르겠네요.. 힝..
B의 값이 0이거나 1이 되는 작은 값의 경우도 재귀의 조건에 달아두었는데, 추가적으로 체크해야하는 부분이 또 있을까요?