Logo
(追記) (追記ここまで)

[C]어디가 잘못된걸까요

14551번 - Card Game Contest

그냥 단순하게 짜보았습니다.

그런데 33%쯤 틀렸다고 뜨네요...


100개의 입력이 모두 100이라면
num에 오버플로우가 나겠죠?
100^100을 담을 수 있는 정수 자료형은 없으니까요.

보통 이렇게 나머지 연산이 주어지는 문제는
중간 계산값을 전부 나머지 처리해주시면서 하면 됩니다.
이게 가능한 이유는 나머지 연산의 특성 때문인데요

(a*b) % c 는
(a%c) * (b%c) 와 같답니다.

따라서 코드를 다음과 같이 수정하시면 AC가 나옵니다.
(line 10만 수정했습니다.)

설명 중간에 실수하신 부분이 있습니다.

(a*b)%c

= ((a%c)*b)%c

= (a*(b%c))%c

= ((a%c)*(b%c)%c

a, b, c에 8, 9, 5를 입력해보시면 확인할 수 있습니다.

댓글을 작성하려면 로그인해야 합니다.

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /