본문 바로가기
BOJ/[BOJ] Python

백준 10757번 풀이

by Lv. 35 라이츄 2022. 8. 18.

문제

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

 

10757번: 큰 수 A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

A+B를 출력하면 되는데 이게 숫자가 좀 크다.

 

Reference

https://beyond1.tistory.com/65

 

10757)큰 수 A+B

https://www.acmicpc.net/problem/10757 두 수를 더해 그 결과를 출력하는 쉬운 문제처럼 보이지만 더하는 두 수가 10^10000보다 작다. int나 long long 타입으로 위처럼 큰 수를 다룰 수 없기 때문에 문자열로..

beyond1.tistory.com

이건 C언어 풀이

 

https://ko.wikipedia.org/wiki/Int_(C_프로그래밍_언어)

 

int (C 프로그래밍 언어) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 정수형을 처리하기 위한 변수로, 정수형(integer)의 약자이다. char와 같은 구조와 특성을 가지며 char가 8비트 인데 비해, 16, 32, 64비트의 처리 단위로 CPU 마다 다르

ko.wikipedia.org

https://dojang.io/mod/page/view.php?id=30

 

C 언어 코딩 도장: 7.0 정수 자료형 사용하기

C 언어에서는 다양한 형태의 자료형을 제공합니다. 이번에는 정수 자료형과 부호에 대해 알아보겠습니다. 정수 자료형은 크게 char, int가 있으며 앞에 부호 키워드(signed, unsigned)와 크기(short, long)

dojang.io

C언어는 왜 풀이가 복잡한지 알아보기 위해 자료형 검색했음…

 

풀이

import sys
a,b=map(int,sys.stdin.readline().split())
print(a+b)

파이썬은 이거 넣으면 된다. input보다 sys.stdin.readline()이 빨라서 저거 씀.

 

그럼 도대체 C언어는 왜!!! 풀이가 저런가 자료형을 찾아봤는데…

  • Char: 8bit
  • Short: 16bit (32bit CPU)
  • Int: 16bit
  • Long: 32bit
  • Long long: 64bit (32bit CPU)

다른 건 모르겠고 2^64보다 크면 에러 각 나왔죠. (잊지 말자, 컴퓨터는 손가락이 두 개다)

출처: 코딩도장 C언어-7.0 정수 자료형 사용하기

signed와 unsigned는 커버 범위가 다른데, signed의 경우 맨 앞에 있는 게 부호비트로 빠져서 그렇다. signed Char의 경우 1 000 0000(-128)~0 111 1111(127)까지 커버가 되고 unsigned는 부호비트가 없이 0000 0000(0)~1111 1111(255)까지 커버되는 방식. 그러니까 unsigned 롱롱 기준으로 2^64까지 들어오는데 거기다가 10^10000 이런거 넣으면 컴퓨터가 미쳤습니까 휴먼 한다.

'BOJ > [BOJ] Python' 카테고리의 다른 글

백준 1978번 풀이  (0) 2022.08.18
백준 1011번 풀이  (0) 2022.08.18
백준 2839번 풀이  (0) 2022.08.18
백준 2775번 풀이  (0) 2022.08.18
백준 10250번 풀이  (0) 2022.08.18

최근댓글

최근글

skin by © 2024 ttutta