Search

일반 수학 1

B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오.
10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다.
A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35
첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36)
B진법 수 N을 10진법으로 바꾸면, 항상 10억보다 작거나 같다.
첫째 줄에 B진법 수 N을 10진법으로 출력한다.
n,b = input().split() number = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' sum = 0 for i in range(len(n)-1,-1,-1): sum += number.index(n[len(n)-(i+1)]) * (int(b)**i) print(sum)
Python
복사
10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오.
10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다.
A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35
첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다.
n,b = input().split() number = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 십진법을 원하는 진법으로 바꿔주려면 몫이 0이될때까지 계속해서 나눈 나머지를 역순으로 나열하면 된다. rm = [] n = int(n) b = int(b) while(True): rm.append(n % b) n = n // b if n == 0: break result = '' for i in rm[::-1]: result += number[i] print(result)
Python
복사
거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그램을 작성하시오. 거스름돈은 항상 $5.00 이하이고, 손님이 받는 동전의 개수를 최소로 하려고 한다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 거스름돈 C를 나타내는 정수 하나로 이루어져 있다. C의 단위는 센트이다. (1달러 = 100센트) (1<=C<=500)
각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다.
quarter = 0.25 dime = 0.10 nickel = 0.05 penny = 0.01 n = int(input()) for i in range(n): list = [] dollar = int(input()) / 100 list.append(dollar // quarter) list.append(round((dollar % quarter),2) // dime) list.append(round(((dollar % quarter) % dime),2) // nickel) list.append(round((((dollar % quarter) % dime) % nickel),2) // penny) for i in list: print(int(i), end=' ') print()
Python
복사
print((2**(int(input()))+1)**2)
Python
복사
위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.
첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.
n = int(input()) start_num = 1 # 벌집의 개수, 1개부터 시작 cnt = 1 while start_num < n: # 다음의 조건을 만족할때까지만 반복 start_num += 6 * cnt cnt += 1 print(cnt)
Python
복사
X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
첫째 줄에 분수를 출력한다.
Python
복사