포스트

220. A/B

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

입력 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)

출력 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.

예제 입력 1 7 3 예제 출력 1 10 4 21 2 1 —

1
2
3
4
5
6
7
import Foundation

var input = readLine()!.split(separator: " ")
var A = Double(input[0])!
var B = Double(input[1])!

print(A / B)

처음에 아무 생각없이 Float를 하였지만 문제가 틀렸다.

아마도 예제 입력 1에서의 조건이 틀렸기 때문으로 판단이 된다.

Float 보다는 Double이 더 범위가 크다.

그래서 Double로 변환하면서 해결


Float

  • 정밀도: 32비트 부동소수점 수를 저장
  • 메모리 사용량: 4바이트를 사용.
  • 유효 숫자 자릿수: 약 6~7자리의 유효 자릿수를 가진다.
  • 사용 사례: 메모리 사용량이 중요한 경우나, 높은 정밀도가 필요하지 않은 경우에 사용

Double

  • 정밀도: 64비트 부동소수점 수를 저장
  • 메모리 사용량: 8바이트를 사용.
  • 유효 숫자 자릿수: 약 15자리의 유효 자릿수를 가진다.
  • 사용 사례: 높은 정밀도가 요구되는 계산이나, 부동소수점 연산의 정확도가 중요한 경우에 사용
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.