[algorithm] 백준: 10430 나머지
10430 답:
A, B, C = map(int, input().split())
one = (A + B) % C
two = ((A % C) + (B % C)) % C
three = (A * B) % C
four = ((A % C) * (B % C)) % C
print(one, two, three, four, sep='\n')
문제 분석 및 과정
- 10430 문제 내용에서 필요없는 내용을 지운다. (출력값에 필요한 것이 아닌 단순한 의문이므로.)
(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?(AxB)%C는 ((A%C) x (B%C))%C 와 같을까?- 세 수 A, B, C가 주어졌을 때,
- 출력 : 각각의 값을 차례로 4줄로 출력.
- 입력 : 첫째줄에 A, B, C가 순서대로 주어진다. 2<= A,B,C <= 10000
- 위의 네 가지 값을 구하는 프로그램을 작성하시오.
- 연산자 의미 알아보기
% 나머지를 구하는 연산자
- A, B, C가 각각의 계산식에 들어가 4줄을 차례로 출력임을 주석에 명확히 정리하기
"""
1줄 (A+B)%C A+B를 C로 나누었을 때의 나머지
2줄 ((A%C) + (B%C))%C (A/C의 나머지 + B/C의 나머지)를 C로 나눈 나머지
3줄 (AxB)%C AxB를 C로 나누었을 때의 나머지
4줄 ((A%C) x (B%C))%C (A/C의 나머지 x B/C의 나머지)를 C로 나눈 나머지
4가지 값을 차례로 각각의 줄에 출력하는 프로그램을 만들어라
"""
풀이
입력: 에, 첫 줄에 input 값이 들어올 것임을 알려주고 있다
그러니 이전에 사용했던 a, b, c = map(int,input().split()) 을 사용해 a, b, c 변수에 각각 int형태로 저장
각각의 출력값을 내기만 하면되니까
계산식에 각각의 변수를 준다.
> one = (A+B)%C ...
이렇게 각각 출력을 적어주거나
print(one)
print(two)
print(three)
print(four)
조금더 깔끔하게 하면
result라는 하나의 변수에 f스트링으로 묶어주고 \n
print(result)
>그런데 이렇게 하면 자꾸 오류가 난다;
그래서 print() 안에 각 변수 , 로 나누어 넣고
end =... 는 마지막만 적용이니까..
sep='\n'을 붙여주어서 각 줄에 출력되도록 해준다.
*** \ 슬래시 뒤에 붙는 것을 이스케이프 문자라고 한다.
참고 및 정리해두기 >> https://ooyoung.tistory.com/12
느낀점:
금방 풀었는데, 오류날 부분이 없는데 자꾸 오류가 나서 굉장히 당황했다
변수를 잘 못 넣었는지도 확인하고
warning도 고쳐보았는데 오류가 계속 남...ㅠㅠ
그래서 print 안에 묶어서 출력하는 방식을 도전해보았다.
왜.. 오류가 난걸까