Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발 공부

c++ 백준 - 엄청난 부자2 본문

코딩 테스트 준비/c++

c++ 백준 - 엄청난 부자2

방구석개발입문 2022. 10. 19. 01:42

브론즈5...?

 

입력값의 조건이

첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 10^1000, m과 n은 10진수 정수)

>> c에서는 10^1000이라는 큰 수를 정수형으로 표현할 수 없음...

(10^20만 하더라도 100000000000000000000 , long의 범위는 2,147,483,647)

 

따라서 오버플로우로 인해 문제가 틀린게 됨!!

 

 

브론즈 5인 이유는 파이썬으로 하면 쉬워진다!!!

파이썬은 정수 연산을 할 때 처음에는 int자료형을 사용하다가 정수 오버플로우가 발생할 것 같으면 자동으로 

long을 사용하는 방식을 통해 정수 오버플로우의 발생을 막는다,

>> long은 무제한의 자릿수를 제공하는 정수형을 의미하는 Arbitrary precision을 지원한다. 즉 무한한 크기의 정수형을 표현 가능함

 

 

파이썬을 이용하면 

a,b = map(int, input().split(" "))
print(a//b)
print(a%b)

간단히 구현 가능!

 

파이썬을 이용해 한줄로 입력을 받으려면

input().split(" ") : split의 " "안의 공백이나 문자단위로 분리를 해주고

map을 이용해 이를 int형으로 변환하여 a,b에 저장한다.