본문 바로가기

Programming/Codeup.kr기초100제 && 컴퓨터 이야기

[기초-산술연산] 정수 한 개 입력받아 1 더해 출력하기 && GPS

GPS는 Global Positioning System의 약자로 기기의 위치를 정확히 알려주는 시스템이다. 시작은 미국 존스호킨스 대학의 응용 물리학 연구소에서 라디오 신호를 이용해 위치를 알 수 있지 않을까 라는 생각을 했고, 실제 가능하여 보고서를 작성했지만 잊혀졌다. 이후 핵미사일의 정확한 발사를 하기 위해 위치를 알아야할 필요가 있었는데 이 보고서가 생각나 만든게 GPS이다. 그렇게 군용으로만 쓰이다가 1983년 대한항공이 접근 불가지역에 들어가 격추되는 사건이 생겨 민간에도 개방되기로 했다.

GPS의 원리는 3개의 위성으로 부터 전파가 날라오는 시간으로 위성까지의 거리를 계산하는 것이다. 3개의 위성을 중심으로 하는 세 개의 구의 교차점이 수신기의 위치가 되는 것이다. 위성이 3개만 있어도 되지만 한개를 더 사용하여 오차를 줄이는 방식을 사용하고 있다.

이 윈리를 적용하기 위해서는 상대성 이론이 필요하다. 인공위성이 2만 km상공에서 3.78km/s 정도의 왕왕 빠른 속도로 이동하기 때문에 시간이 지구에서 보다 느리게 흐른다. 또 지구 중력에 의한 시간지연도 생각해야한다.

GPS를 구현하기 위한 장비가 생각보다 저렴하여 위성으로부터 신호를 수신만 가능하다면 전 세계 어디서나 자신의 위치를 거의 무료로 알 수 있기에 현재 수 많은 기기에 이 기술이 적용되어 있다.

문제 설명

정수를 한 개 입력받아 1을 더해 출력하는 프로그램을 작성해보자.
(단, 정수는 -2147483648 ~ 2147483647 의 범위로 입력된다.)


주의 : 계산되고 난 후의 데이터 범위에 주의한다.

입력

정수 한 개가 입력된다.
(단, -2147483648 ~ 2147483647 의 범위로 입력된다.)

출력

입력된 정수에 1을 더해 출력한다.

입력 예시

2147483647

출력 예시

2147483648

도움말

어떤 변수(a)에 값을 저장한 후  a+1 의 값을 출력할 수도 있고,
++a 후 출력할 수도 있다.

++a, --a, a++, a-- 와 같이 어떤 변수의 앞이나 뒤에 붙여 변수에 저장되어 있는 값을 1씩 더하거나 빼주는 연산자를 증감연산자라고 한다. 홀로 독립되어 사용할 수 있다.(세미콜론도 잊지말자!)

증감연산자를 변수 앞에 붙이면 그 변수를 사용하기 전에 증감을 먼저 수행하고,

증감연산자를 변수 뒤에 붙이면 일단 변수에 저장되어 있는 값을 먼저 사용하고 난 후에 증감을 수행한다. 예를 들어 a가 3일 때 b=a++를 하면 b에 a의 값인 3을 할당시킨 후 a의 값에 1을 더한 값을 a에 할당시킨다. 반면 'b=++a'라면 a의 값에 1을 더한 값을 a에 할당시킨후 그값을 b에 할당시키는 것이다.

다음의 예를 보자.

int a=3;

int b=a++;

print("%d %d",a,b);

위 코드의 출력결과는

4 3

이다. 또,

int a=3;

int b=++a;

print("%d %d",a,b);

의 출력결과는

4 4

이다.


Python 에서는 증가 연산자가 없기 때문에 a+=1을 사용한다. 이것은 a=a+1을 줄인 연산자이다.