1042 : [기초-산술연산] 정수 2개 입력받아 나눈 몫 출력하기(설명)


정수 2개(a, b) 를 입력받아 a를 b로 나눈 몫을 출력해보자.
단, -2147483648 <= a <= b <= +2147483647, b는 0이 아니다.

참고
C언어에서 정수/정수 연산의 결과는 정수(몫)로 계산된다.
실수/정수, 정수/실수, (float)정수/정수, 정수/(float)정수 등의 연산 결과는 실수 값으로 계산된다.

(float)(정수/정수)는 정수/정수의 결과인 정수 값을 실수형(float)로 바꾸는 것으로,
계산 결과인 정수 값이 실수 형태로 변환되는 것이니 주의해야 한다.

정수/실수 계산결과가 자동으로 실수형으로 바뀌는 것을 묵시적 (데이터)형변환이라고 하고,
어떤 값이나 결과의 데이터형을 강제로 바꾸는 것을 명시적 (데이터)형변환이라고 한다.

int a;
scanf("%d", &a);
printf("%f", (float)a);

와 같이 실행하면, 정수로 저장되어 있는 값을 실수형(float)으로 명시적으로 변환하여 출력한다.

 

정답

a, b=input().split(' ')
a=int(a)
b=int(b)
print(int(a / b))

 

모범 소스

a,b=input().split()
x=int(a)
y=int(b)
print(x//y)

 

 

 1043 : [기초-산술연산] 정수 2개 입력받아 나눈 나머지 출력하기(설명)


정수 2개(a, b) 를 입력받아 a를 b로 나눈 나머지를 출력해보자.
단, 0 <= a, b <= +2147483647, b는 0이 아니다.

참고
C언어에서 정수%정수 연산의 결과는 나눈 나머지로 계산된다.

% 연산자(modulus, mod 연산) 수학자 가우스가 생각해낸 연산으로,
어떤 정수를 다른 정수로 나누고 난 후 남는 나머지를 계산하는 연산이다.

단, 음(-)이 아닌 정수에 대해서만 연산된다.

 

정답

a, b=input().split(' ')
a=int(a)
b=int(b)
print(a % b)

 

 

 1044 : [기초-산술연산] 정수 1개 입력받아 1 더해 출력하기(설명)


정수를 1개 입력받아 1만큼 더해 출력해보자.
단, -2147483648 ~ +2147483647 의 범위로 입력된다.

주의
계산되고 난 후의 값의 범위(데이터형)에 주의한다.

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

++a, --a, a++, a-- 와 같이 어떤 변수의 앞이나 뒤에 붙여
변수에 저장되어있는 값을 1만큼 더하거나 빼주는 연산자를 증감연산자라고 한다.

증감연산자를 변수 앞에 붙이면 그 변수를 사용하기 전에 증감을 먼저 수행하고,
증감연산자를 변수 뒤에 붙이면 일단 변수에 저장되어있는 값을 먼저 사용하고 난 후
나중에 증감을 수행한다.

 

정답

a=input()
a=int(a)
print(a+1)

 

 


CodeUp 기초 100제 : https://codeup.kr/problemsetsol.php?psid=23

 1038 : [기초-산술연산] 정수 2개 입력받아 합 출력하기1(설명)


정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자.
(단, 입력되는 정수는 -1073741824 ~ 1073741824 이다.)

 

정답

a, b=input().split(' ')
print(int(a) + int(b))

 

 

 1039 : [기초-산술연산] 정수 2개 입력받아 합 출력하기2(설명)


정수 2개를 입력받아 합을 출력해보자.
단, 입력되는 정수는 -2147483648 ~ +2147483648 이다.

참고
+ 연산자를 사용하면 된다.
단, 계산된 결과가 int 형으로 저장할 수 있는 범위를 넘어갈 수 있기 때문에 다른 데이터형을 사용해야 한다.

주의
int 데이터형은 %d로 입출력하고,
long long int 데이터형은 %lld로 입출력한다.

 

정답
a, b=input().split(' ')
print(int(a) + int(b))

 

 

 1040 : [기초-산술연산] 정수 1개 입력받아 부호 바꿔 출력하기(설명) 


입력된 정수의 부호를 바꿔 출력해보자.
단, -2147483647 ~ +2147483647 범위의 정수가 입력된다.

참고
단항 연산자인 -(negative)를 변수 앞에 붙이면 부호가 반대로 바뀌어 계산된다.

예시
int a;
scanf("%d", &a);
printf("%d", -a);

 

정답

a=input()
print(-int(a))

 

 

 1041 : [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기(설명)


영문자 1개를 입력받아 그 다음 문자를 출력해보자.

영문자 'A'의 다음 문자는 'B'이고, 영문자 '0'의 다음 문자는 '1'이다.

참고
숫자는 수를 표현하는 문자로서 '0' 은 문자 그 자체를 의미하고, 0은 값을 의미한다.

힌트
아스키문자표에서 'A'는 10진수 65로 저장되고 'B'는 10진수 66으로 저장된다.
따라서 문자도 값으로 덧셈을 할 수 있다.

 

정답

a=input()
b=ord(a)+1
print(chr(b))

 

모범 소스

a=input()
n=ord(a)
c=chr(n+1)
print(c)

 

 


CodeUp 기초 100제 : https://codeup.kr/problemsetsol.php?psid=23

 1036 : [기초-출력변환] 영문자 1개 입력받아 10진수로 출력하기(설명)


영문자 1개를 입력받아 아스키 코드표의 10진수 값으로 출력해보자.

참고
아스키 코드는
(ASCII, 미국표준코드, American Standard Code for Information Interchange)
영문자, 특수 문자 등을 저장할 때 사용하는 표준 코드이다.

컴퓨터로 저장되는 모든 데이터는 2진 정수화되어 저장되는데,
영문자와 특수기호 등을 저장하는 방법으로 아스키코드가 기본적으로 사용된다.

예를 들어 영문 대문자 "A"는 10진수 65를 의미하는 2진수 값으로 저장된다.

 

정답

a=input()
print(ord(a))

 

 

 1037 : [기초-출력변환] 정수 입력받아 아스키 문자로 출력하기 


10진 정수 1개를 입력받아 아스키 문자로 출력해보자.
단, 0 ~ 255 범위의 정수만 입력된다.

 

정답

a=int(input())
print(chr(a))

 

 


CodeUp 기초 100제 : https://codeup.kr/problemsetsol.php?psid=23

 1034 : [기초-출력변환] 8진 정수 1개 입력받아 10진수로 출력하기(설명)


8진수로 입력된 정수 1개를 10진수로 바꾸어 출력해보자.

참고
%o로 입력받으면 8진수로 인식시켜 저장시킬 수 있다.
%d로 출력하면 10진수로 출력된다.

예시
int n;
scanf("%o", &n);
printf("%d", n);
(C언어에서 소스 코드 작성 시 0으로 시작하는 수는 8진수로 인식된다. int a = 013; // 10진수 11과 같은 값)

 

정답

a=int(input(),8)
print(a)

 

모범 소스

a=input()
n=int(a, 8)
print(n)

 

 

 1035 : [기초-출력변환] 16진 정수 1개 입력받아 8진수로 출력하기(설명) 


16진수로 입력된 정수 1개를 8진수로 바꾸어 출력해보자.

참고
%x(영문자 소문자) 나 %X(영문자 대문자)로 입력 받으면
16진수로 인식시켜 저장시킬 수 있다. %o로 출력하면 8진수로 출력된다.

C언어에서 소스 코드 작성시 0으로 시작하는 수는 8진수로 인식된다.
또한 소스코드 내에서 //로 시작하면 1줄 설명을 넣을 수 있다.
여러 줄을 설명(주석) 을 넣을 경우 /* 와 */ 사이에 작성하면 된다.

예시
int n;
scanf("%x", &n); //소문자로 16진수 입력
printf("%o", n);

 

정답

a=int(input(),16)
print('%o' %a)

 

모범 소스

a=input()
n=int(a, 16)
print('%o' % n)

 

 


CodeUp 기초 100제 : https://codeup.kr/problemsetsol.php?psid=23

 1031 : [기초-출력변환] 10진 정수 1개 입력받아 8진수로 출력하기(설명)


10진수를 입력받아 8진수(octal)로 출력해보자.

참고
%d(10진수 형태)로 입력받고,
%o를 사용해 출력하면 8진수(octal)로 출력된다.

 

정답

a=input()
a=int(a)
print('%o' %a)

 

 

 1032 : [기초-출력변환] 10진 정수 입력받아 16진수로 출력하기1(설명)


10진수를 입력받아 16진수(hexadecimal)로 출력해보자.

참고
%d(10진수 형태)로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.

10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고,
16진법은 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다.
16진수의 a는 10진수의 10, b는 11, c는 12 ... 와 같다.

 

정답

a=input()
a=int(a)
print('%x' %a)

 

 

 1033 : [기초-출력변환] 10진 정수 입력받아 16진수로 출력하기2(설명)


10진수를 입력받아 16진수(hexadecimal)로 출력해보자.

참고
%d(10진수 형태)로 입력받고
%X로 출력하면 16진수(hexadecimal) 대문자로 출력된다.

10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고,
16진법은 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 A B C D E F)의 문자를 사용한다.
(알파벳 대소문자는 표현만 다르고 같은 값을 의미한다.)
16진법의 A는 10진법의 10, B는 11, C는 12 ... 와 같다.

 

정답

a=input()
a=int(a)
print('%X' %a)

 

 


CodeUp 기초 100제 : https://codeup.kr/problemsetsol.php?psid=23

 1028 : [기초-데이터형] 정수 1개 입력받아 그대로 출력하기2(설명)


정수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.)

참고
-2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는
int 형으로 변수를 선언하면 된다.(int 로 선언하고 %d로 받고 출력)

하지만 이 범위를 넘어가는 정수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.

unsigned int 데이터형을 사용하면 0 ~ 4294967295 범위의 정수를 저장할 수 있다.


예시
unsigned int n;
scanf("%u", &n);
printf("%u", n);

 

정답

a=input()
print(a)

 

모범 소스

a=input()

print(int(a))

 

 

 1029 : [기초-데이터형] 실수 1개 입력받아 그대로 출력하기2(설명)


실수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 실수의 범위는 +- 1.7*10-308 ~ +- 1.7*10308 이다.)

참고
float 데이터형을 사용하면 +- 3.4*10-38 ~ +- 3.4*1038 범위의 실수를 저장할 수 있다.
(float 로 선언하고 %f로 입력 받아 출력하면 된다.)

이 범위를 넘어가는(더 작거나 더 큰) 실수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.
double은 더 정확하게 저장할 수 있지만, float보다 2배의 저장 공간이 필요하다.

double 데이터형을 사용하면
+- 1.7*10-308 ~ +- 1.7*10308 범위의 실수를 저장할 수 있다.


예시
double d;
scanf("%lf", &d); // double(long float) 형식으로 입력
printf("%lf", d);

 

정답

a=input()
a=float(a)
print("%.11lf" %a)

 

 

 1030 : [기초-데이터형] 정수 1개 입력받아 그대로 출력하기3(설명)


정수 1개를 입력받아 그대로 출력해보자.
단, 입력되는 정수의 범위는
-9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 이다.

참고
-2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는
int 데이터형을 사용해 변수를 선언하면 된다.
(int 로 선언하고 %d로 입력받아 저장하고, 출력하면 된다.)

int 형으로 저장할 수 있는 범위를 넘어가는 정수 값을 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 한다.

long long int 데이터형을 사용하면
-9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 범위의 정수값을
저장시킬 수 있다.


예시
long long int n;
scanf("%lld", &n);
printf("%lld", n);

 

정답

a=input()
print(int(a))

 

 


CodeUp 기초 100제 : https://codeup.kr/problemsetsol.php?psid=23

+ Recent posts