[1] 코드업 파이썬 기초 100제
100제 46번째 문제
[2] 문제
정수 1개를 입력받아 2배 곱해 출력해보자.
1. 참고
*2 를 계산한 값을 출력해도 되지만,
정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 <<, >>를 이용할 수 있다.
컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에,
2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>)으로
지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어드는데,
왼쪽 비트시프트(<<)가 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고,
오른쪽 비트시프트(>>)가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고,
가장 오른쪽에 있는 1비트는 사라진다.
2. 예시
n = 10
print(n<<1) #10을 2배 한 값인 20 이 출력된다.
print(n>>1) #10을 반으로 나눈 값인 5 가 출력된다.
print(n<<2) #10을 4배 한 값인 40 이 출력된다.
print(n>>2) #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.
3. 입력
정수 한 개가 입력된다.
단, -1073741824 ~ +1073741823
4. 출력
2배 곱한 정수를 출력한다.
https://codeup.kr/problem.php?id=6046
[3] 정답
1. 해설 미포함
a = input()
a= int(a)
print(a<<1)
2. 해설 포함
a = input()
# 값을 입력 받은 후 그 값을 변수 a에 저장한다.
a= int(a)
# 변수 a에 저장된 값을 정수형으로 변환한 후 변수 a에 저장한다.
print(a<<1)
# 변수 a에 저장된 값을 왼쪽으로 한번 비트시프트 한다. 값이 2배가 되게 된다. 그 값을 출력한다.
input 함수는 값을 입력받는 함수이다.
int 함수는 변수에 저장된 값을 int(정수형)으로 변환한 후 출력하는 함수이다.
<< : 왼쪽으로 한번 비트시프트 한다. 값이 두배가 되게 된다.
print 함수는 값을 출력하는 함수이다.
'프로그래밍 > 코드업 파이썬 기초 100제' 카테고리의 다른 글
코드업 파이썬 기초 100제 6048번(100제 48번째 문제) (0) | 2023.01.30 |
---|---|
코드업 파이썬 기초 100제 6047번(100제 47번째 문제) (0) | 2023.01.30 |
코드업 파이썬 기초 100제 6045번(100제 45번째 문제) (0) | 2023.01.29 |
코드업 파이썬 기초 100제 6044번(100제 44번째 문제) (2) | 2023.01.29 |
코드업 파이썬 기초 100제 6043번(100제 43번째 문제) (0) | 2023.01.29 |