로딩
요청 처리 중입니다...

[나머지 연산] 음수의 나머지 연산(Modular Arithmetic) 결과값이 프로그래밍언어마다 다른 이유(C, Python)

 [나머지 연산] 음수의 나머지 연산(Modular Arithmetic) 결과값이 프로그래밍언어마다 다른 이유(C, Python)

오늘도 백준을 열심히 샥샥 풀다가 게시물 제목처럼 프로그래밍 언어에서 음수의 나머지 연산이 다르다는 것을 모르시는 분들도 있을 것 같아 정리해두는 게시물! 1.

나머지의 수학적 정의 a=bq+r(0≤r≤|b|) but, C와 Python에서 음수의 나머지 계산 결과값은 다르다. -> why????? 두 결과 모두 위의 수학적 정의는 만족하지만, 두 언어가 나머지 연산을 하는 방법에 차이 有 2.

C와 Python의 음의 나머지 연산 차이 C언어 → 몫에 대해서, 버림을 사용한다. Python → 몫에 대해서, 내림을 사용한다.

단계 C (몫에 대해 버림) Python (몫에 대해 내림) 1 8 ÷ (-3) = -2.666 → -2 8 ÷ (-3) = -2.666 → -3 2 8 = (-3) * (-2) + 2 8 = (-3) * (-3) + (-1) 그래서 C는 나머지가 2, Python은 -1이 나온다. 참고 https://en.wikipedia.org/wiki/Modulo_ope...

# C # ModularArithmetic # Python # 나머지연산 # 노란오리의하루기록 # 음의나머지연산