1629번 - 곱셈
안녕하세요.
이 문제를 (a * b) % m = ((a % m) * (b % m)) % m 라는 것을 이용해서 풀었습니다.
그런데 a = xm + k, b = ym + l, c = zm + n으로 두고 식을 써보니, 세 항의 곱의 나머지도 각각의 나머지 연산의 곱을 다시 나머지 연산한 것과 같다는 결과를 얻었습니다. n개 항에 대해서도 성립하구요.
그래서 홀수승일때의 리턴값을 바꿔보았는데, 작동하지 않습니다. 전제가 틀린 것인가요? 아니면 코드가 잘못된 것인가요?
소스의 //working 부분은 a * 짝수 승으로 바꾸는 방식이고 정답이라고 나옵니다.
//not working부분이 세 나머지의 곱의 나머지로 푼 부분이며, '틀렸습니다'라고 뜹니다.
overflow가 발생할 수 있습니다.
댓글을 작성하려면 로그인해야 합니다.
suno 4년 전
안녕하세요.
이 문제를 (a * b) % m = ((a % m) * (b % m)) % m 라는 것을 이용해서 풀었습니다.
그런데 a = xm + k, b = ym + l, c = zm + n으로 두고 식을 써보니, 세 항의 곱의 나머지도 각각의 나머지 연산의 곱을 다시 나머지 연산한 것과 같다는 결과를 얻었습니다. n개 항에 대해서도 성립하구요.
그래서 홀수승일때의 리턴값을 바꿔보았는데, 작동하지 않습니다. 전제가 틀린 것인가요? 아니면 코드가 잘못된 것인가요?
소스의 //working 부분은 a * 짝수 승으로 바꾸는 방식이고 정답이라고 나옵니다.
//not working부분이 세 나머지의 곱의 나머지로 푼 부분이며, '틀렸습니다'라고 뜹니다.