입출력과 사칙연산-9단계_나머지
단계 | 제목 | 설명 | |
---|---|---|---|
1 | 입출력과 사칙연산 | 입력, 출력과 사칙연산을 연습해 봅시다. Hello World! | |
소단계 | 문제번호 | 제목 | |
9 | 10430 | 나머지 | |
네 개의 계산식을 계산하는 문제. 이 문제를 푼 다음에는 직접 입력을 만들어서 넣어 봅시다. 어떤 사실을 관찰할 수 있나요? |
문제
(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?
(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?
세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오…
입력
첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
출력
첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
내 제출
A, B, C = map(int, input().split())
a = (A+B)%C
b = ((A%C) + (B%C))%C
c = (A*B)%C
d = ((A%C) * (B%C))%C
print(a)
print(b)
print(c)
print(d)
결과
정답
사용된 코드 이론
1.AXB 문제에서 사용된 코드원리를 그대로 사용한다.
2.곱하기 기호 : *
1. ”/” : 단순 나눗셈 - 가장 기본적인 나눗셈 (float형)
a = 5
b = 3
print("a 나누기 b: ", a/b)
# a 나누기 b: 1.6666666666666667
2. ”//” : 나눗셈의 몫 - 나눗셈 결과의 ‘몫’을 가져옴
a = 5
b = 3
print("a 나누기 b의 몫:", a//b)
# a 나누기 b의 몫: 1
3. ”%” : 나눗셈의 나머지 - 나눗셈 결과의 ‘나머지’를 가져옴
a = 5
b = 3
print("a 나누기 b의 나머지:", a%b)
# a 나누기 b의 나머지: 2
4. divmod(): 나눗셈의 몫과 나머지(튜플 형식) - 나눗셈 결과의 ‘몫’과 ‘나머지’를 한번에 가져옴
나눗셈 연산을 수행하고, 그 연산의 결과인 몫과 나머지를 튜플형식으로 한번에 가져옵니다.
따라서 이 결과를 변수에 넣어 사용할 때에는, 2개의 변수가 필요합니다.
a = 5
b = 3
c, d = divmod(a, b)
print("a 나누기 b의 몫:", c, "/ 나머지:", d)
# a 나누기 b의 몫: 1 / 나머지: 2
참고문헌
[Python] 파이썬 나눗셈 나머지, 몫 구하기 ( / , %, // , divmod) — 개발하는 사막여우