728x90

https://www.acmicpc.net/problem/10869

 

10869번: 사칙연산

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

www.acmicpc.net

 

문제) 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

 

풀이)

1번 풀이)

A, B=map(int, input().split())
print(A+B)
print(A-B)
print(A*B)
print(A//B)
print(A%B)

나누기에서 /은 나눗셈의 몫과 나머지를 동시에 출력하지만, //은 몫만 출력하는 연산이다.

2번 풀이)

A, B=map(int, input().split())
print(A+B)
print(A-B)
print(A*B)
print(int(A/B))
print(A%B)

/와 //의 차이점을 모르는 경우

/을 사용해 몫만 출력해주기 위해서 앞에 int()-정수형 함수를 붙여서 몫만 출력되게 정수 값만 출력되도록 처리를 해준다.

3번 풀이)

A, B=map(int, input().split())
print(A+B, A-B, A*B, A//B, A%B, sep="\n")

sep은 말그대로 separator로 구분 또는 분리한다는 뜻이다.

sep: print()문안에 나열된 값들을 특정한 구분값으로 분리해 출력한다는 뜻으로

end:print()문 끝에 end에서 정의한것을 출력하고 다음 줄이 연이어 출력된다.

sep="구분값"

end="출력하고자 하는 값"

따라서, print()함수의 옵션으로 sep를 사용해, sep="\n"

\n(줄바꿈)이라는 구분자를 넣어줘 하나의(쉼표로 구분 된)값의 계산이 끝날때 마다 줄바꿈이 일어나도록 설정을 해준다.

따라서, print()을 5번 입력하지 않아도 5번 작성한 것과 똑같은 결과값이 나오게 된다.

 

 

 

728x90