💊약수코드
inputNum = int(input('0보다 큰 정수 입력 : '))
for number in range(1,(inputNum + 1)):
if inputNum % number == 0:
print(f'{inputNum}의 약수 : {number}')
💊소수와 합성수
inputNum = int(input('0보다 큰 정수 입력 : '))
for number in range(1,(inputNum+1)):
flag = True
for n in range(2,number):
if number % n == 0:
flag = False
break
if (flag):
print(f'{number} : 소수!!')
else:
print(f'{number} : 합성수!!')
💊소인수
inputNum = int(input('1보다 큰 정수 입력'))
n = 2
while n<=inputNum:
if inputNum % n == 0:
print('소인수: {}'.format(n))
inputNum /= n
else:
n += 1
💊최대공약수 & 최소공배수
num1 = int(input('1보다 큰 정수 입력 : '))
num2 = int(input('1보다 큰 정수 입력 : '))
maxNum = 0
for i in range(1,(num1+1)):
if num1 % i == 0 and num2 % i == 0:
print('공약수 : {}'.format(i))
maxNum = i
print('최대공약수 : {}'.format(maxNum))
minNum = (num1*num2) / maxNum
print('최소공배수 : {}'.format(minNum))
💊진수변환
dNum = 30
#진수 표현
print('2진수: {}'.format(bin(dNum)))
print('8진수: {}'.format(oct(dNum)))
print('16진수: {}'.format(hex(dNum)))
print('2진수: {}'.format(format(dNum,'#b')))
print('8진수: {}'.format(format(dNum,'#o')))
print('16진수: {}'.format(format(dNum,'#x')))
print('{0:#b},{0:#o},{0:#x}'.format(dNum,dNum,dNum))
print('type of bin(dNum): {}'.format(type(format(dNum,'#b'))))
print('type of bin(dNum): {}'.format(type(format(dNum,'#o'))))
print('type of bin(dNum): {}'.format(type(format(dNum,'#x'))))
#진수 변환
print('2진수(ob11110) ->10진수({})'.format(int('0b11110',2)))
print('8진수(0o36) ->10진수({})'.format(int('0o36',8)))
print('16진수(0x1e) ->10진수({})'.format(int('0x1e',16)))
print('2진수(ob11110) ->10진수({})'.format(int(0b11110)))
print('2진수(ob11110) ->8진수({})'.format(oct(0b11110)))
print('2진수(ob11110) ->16진수({})'.format(hex(0b11110)))
print('8진수(0o36) ->2진수({})'.format(bin(0o36)))
print('8진수(0o36) ->10진수({})'.format(int(0o36)))
print('8진수(0o36) ->16진수({})'.format(hex(0o36)))
print('16진수(0x1e) ->2진수({})'.format(bin(0x1e)))
print('16진수(0x1e) ->8진수({})'.format(oct(0x1e)))
print('16진수(0x1e) ->10진수({})'.format(int(0x1e)))
💊공차수열
inputN1 = int(input('a1입력 : '))
inputD = int(input('공차입력 : '))
inputN = int(input('n입력 : '))
valueN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputN1 + ((inputN-1)*inputD)
print('{}번째 항의 값 : {}'.format(inputN,valueN))
n += 1
# 등차수열 합
valueN = inputN1 + (inputN-1)*inputD
sumN = inputN * (inputN1+valueN)/2
print('{}번째 항까지의 값 : {}'.format(inputN,sumN))
💊공비수열
inputN1 = int(input('a1 입력 : '))
inputR = int(input('공비 입력 : '))
inputN = int(input('n 입력 : '))
# 항의 값
valueN = inputN1 * (inputR**(inputN-1))
print('{}번째 항의 값 : {}'.format(inputN,valueN))
# 항의 합
sumN = inputN1 * (1-(inputR**inputN))/(1-inputR)
print('{}번째 항까지의 값 : {}'.format(inputN,int(sumN)))
💊계차수열
inputAN1 = int(input('a1 입력 : '))
inputAN = int(input('an 입력 : '))
inputBN1 = int(input('b1 입력 : '))
inputBD = int(input('bn 공차 입력 : '))
valueAN = (inputAN**2) + inputAN + 1
print('bn 의{}항의 값 : {} '.format(inputAN,valueAN))
💊피보나치 수열
inputN = int(input('n 입력 : '))
valueN = 0
sumN = 0
valuePreN2 = 0
valuePreN1 = 0
n = 1
while n <= inputN:
if n == 1 or n == 2:
valueN = 1
valuePreN2 = valueN
valuePreN1 = valueN
sumN += valueN
n += 1
else:
valueN = valuePreN2 + valuePreN1
valuePreN2 = valuePreN1
valuePreN1 = valueN
sumN += valueN
n += 1
print('{}번째 항의 값 : {}'.format(inputN,valueN))
print('{}번째 항까지의 합 : {}'.format(inputN,sumN))
💊팩토리얼
inputN = int(input('n 입력 : '))
result = 1
for n in range(1,inputN+1):
result *= n
print('{} 팩토리얼: {}'.format(inputN,result))
💊순열 코드
numN = int(input('numN 입력 : '))
numR = int(input('numR 입력 : '))
result = 1
for n in range(numN,(numN-numR),-1):
print('n : {}'.format(n))
result = result * n
print('result : {}'.format(result))
💊원순열 코드
n = int(input('친구 수 입력 : '))
result = 1
for i in range(1,n):
result *= i
print('result : {}'.format(result))
💊조합과 확률
조합 : nCr => n!/r!(n-r)! or (n-r)!/r!
확률 : (nCr*nCr)/nCr (해당 조합의 곱을 총 조합으로 나누어 백분률로 계산)
=>Ex)
아래 코드는 조합+확률계산까지 포함
#8c3
numN = int(input('numN 입력: '))
numR = int(input('numR 입력: '))
resultP = 1
resultR = 1
resultC = 1
for n in range(numN, (numN-numR), -1):
print('n : {}'.format(n))
resultP = resultP * n
print('resultP: {}'.format(resultP))
for n in range(numR, 0, -1):
print('n : {}'.format(n))
resultR = resultR * n
print('resultR: {}'.format(resultR))
resultC = int(resultP / resultR)
print('resultC: {}'.format(resultC))
result = (1/resultC)*100
print('{}%'.format(round(result, 2)))