티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 11382번 꼬마 정민

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

 

11382번: 꼬마 정민

첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다.

www.acmicpc.net

* 사용언어 : C언어, C++

 

1. 문제

입력받은 3개 숫자 A, B, C 의 합을 출력 (각 숫자의 범위는 1부터 10^12 까지)

 

2. 풀이

3개 숫자를 입력 받은 후 출력하면 됩니다.

상당히 단순한 문제이지만 숫자의 범위가 int 변수형의 범위(2^32)를 넘기 때문에

long long 변수로 처리해주어야 합니다.

 

문제의 입, 출력 숫자가 크게 주어지는 경우

계산기(ctrl + r, calc 입력)를 활용하여 범위를 미리 검토해본 후 변수를 결정하면 좋습니다.

 

문제에서 주어진 Input 의 최대값
int 로 표현 가능한 최대 범위 (unsigned 가 없으면 2^31 까지)
long long (int) 로 표현 가능한 최대 범위 (unsigned 가 없으면 2^63 까지)

 

위 내용이 이해가 되지 않는다면

C언어의 각 변수형과 변수형이 표현할 수 있는 최대 범위에 대해 먼저 학습하시길 바랍니다.

 

3. 코드

#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
/*
11382_꼬마 정민
1112KB	0ms
*/
#include <cstdio>
using LL = long long;

int main() {
#ifdef _WIN32
	freopen("input.txt", "r", stdin);
#endif // _WIN32
	LL a, b, c;
	scanf("%lld %lld %lld", &a, &b, &c);
	printf("%lld\n", a + b + c);
	return 0;
}

* 입출력 시 long long 변수를 사용할 경우 %d 가 아닌 %lld 로 작성

728x90
반응형
댓글