import random
rNum = random.randint(100, 1000)
print(f'rNum: {rNum}')
for num in range(1, rNum+1):
soinsuFlag = 0
#약수
if rNum % num == 0:
print(f'[약수]: {num}')
soinsuFlag += 1
#소수
if num != 1:
flag = True
for n in range(2, num):
if num % n == 0:
flag = False
break
if(flag):
print(f'[소수]: {num}')
soinsuFlag += 1
#소인수 = 약수(인수)이면서 소수인 수
if soinsuFlag >= 2:
print(f'[소인수]: {num}')
import random
rNum = random.randint(100, 1000)
print(f'rNum: {rNum}')
soinsuList = []
n = 2
while n <= rNum:
if rNum % n == 0:
print(f'소인수: {n}')
soinsuList.append(n)
rNum = rNum / n
else:
n += 1
print(f'soinsuList: {soinsuList}')
tempNum = 0
for s in soinsuList:
if tempNum != s:
print(f'{s}\'s count: {soinsuList.count(s)}')
tempNum = s
import random
rNum1 = random.randint(100, 1000)
rNum2 = random.randint(100, 1000)
print(f'rNum1: {rNum1}')
print(f'rNum2: {rNum2}')
maxNum = 0
for n in range(1, min(rNum1, rNum2)+1):
if rNum1 % n == 0 and rNum2 % n == 0:
print(f'공약수: {n}')
maxNum = n
print(f'최대공약수: {maxNum}')
if maxNum == 1:
print(f'{rNum1}, {rNum2} = 서로소')
import random
rNum1 = random.randint(100, 1000)
rNum2 = random.randint(100, 1000)
print(f'rNum1: {rNum1}')
print(f'rNum2: {rNum2}')
maxNum = 0
for n in range(1, min(rNum1, rNum2)+1):
if rNum1 % n == 0 and rNum2 % n == 0:
print(f'공약수: {n}')
maxNum = n
print(f'최대공약수: {maxNum}')
print(f'{rNum1}, {rNum2}의 최소 공배수 = {int((rNum1*rNum2) / maxNum)}')
dNum = int(input('10진수 입력: '))
print('2진수: {}'.format(bin(dNum)))
print('8진수: {}'.format(oct(dNum)))
print('16진수: {}'.format(hex(dNum)))
print(int('0b10101', 2))
print(int('0o135', 8))
print(int('0x5f', 16))
inputA1 = int(input('a1: '))
inputD = int(input('D: '))
inputN = int(input('n: '))
valueN = 0 ; sumN = 0
n = 1
while n <= inputN:
if n ==1:
valueN = inputA1
sumN += valueN
print('{}th value: {}'.format(n, valueN))
print('{}th SUM: {}'.format(n, sumN))
n += 1
continue
valueN += inputD
sumN += valueN
print('{}th value: {}'.format(n, valueN))
print('{}th SUM: {}'.format(n, sumN))
n += 1
print('{}th value: {}'.format(inputN, valueN))
print('{}th SUM: {}'.format(inputN, sumN))
inputA1 = int(input('a1: '))
inputR = int(input('R: '))
inputN = int(input('n: '))
valueN = 0 ; sumN = 0
n = 1
while n <= inputN:
if n ==1:
valueN = inputA1
sumN += valueN
print('{}th value: {}'.format(n, valueN))
print('{}th SUM: {}'.format(n, sumN))
n += 1
continue
valueN *= inputR
sumN += valueN
print('{}th value: {}'.format(n, valueN))
print('{}th SUM: {}'.format(n, sumN))
n += 1
print('{}th value: {}'.format(inputN, valueN))
print('{}th SUM: {}'.format(inputN, sumN))
inputA1 = int(input('a1: '))
inputR = int(input('R: '))
inputN = int(input('n: '))
valueN = 0 ; sumN = 0
n = 1
while n <= inputN:
if n ==1:
valueN = inputA1
sumN += valueN
print('{}th value: {}'.format(n, valueN))
print('{}th SUM: {}'.format(n, sumN))
n += 1
continue
valueN *= inputR
sumN += valueN
print('{}th value: {}'.format(n, valueN))
print('{}th SUM: {}'.format(n, sumN))
n += 1
print('{}th value: {}'.format(inputN, valueN))
print('{}th SUM: {}'.format(inputN, sumN))
inputA1 = int(input('a1: '))
inputN = int(input('n: '))
valueN = ((3 inputN **2) - (3inputN) + 4) / 2
print('{}th value: {}'.format(inputN, valueN))
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('{}th value: {}'.format(inputN, valueN))
print('{}th SUM: {}'.format(inputN, sumN))
def facFun1(n):
fac = 1
for n in range(1, n+1):
fac *= n
return fac
num = int(input('N? : '))
print(f'{num}!: {facFun1(num)}')
def facFun2(n):
if n == 1:
return n
return n * facFun2(n-1)
num = int(input('N? : '))
print(f'{num}!: {facFun2(num)}')
import math
num = int(input('N? : '))
print(f'{num}!: {math.factorial(num)}')
flag = True
n = 1 #군
nCnt = 1 # 항
searchNC = 0 # 분자
searchNP = 0 # 분모
sumN = 0
while flag:
for i in range(1, (n+1)):
print('{}/{}'.format(i, (n - i + 1)), end=' ')
sumN += i / (n - i + 1)
nCnt += 1
if sumN > 100:
searchNC = i
searchNP = n-i+1
flag = False
break
print()
n += 1
print(nCnt, searchNC, searchNP, sumN)
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('{}P{} = {}'.format(numN, numR, result))
fNum1 = int(input('factorial1: '))
result1 = 1
for n in range(fNum1, 0, -1):
result1 *= n
print('result1: {}'.format(result1))
fNum2 = int(input('factorial2: '))
result2 = 1
for n in range(fNum1, 0, -1):
result2 *= n
print('result1: {}'.format(result2))
print('정답 = {}'.format(result1, result2))
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('{}P{} = {}'.format(numN, numR, resultP))
for n in range(numR, 0, -1):
print('n : {}'.format(n))
resultR = resultR * n
print('R! = {}'.format(numN, numR, resultR))
resultC = int(resultP / resultR)
print(f'조합 결과 {numN}C{numR}: {resultC}')
def proFun():
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('{}P{} = {}'.format(numN, numR, resultP))
#R!
for n in range(numR, 0, -1):
print('n : {}'.format(n))
resultR = resultR * n
print('R! = {}'.format(numN, numR, resultR))
#조합
resultC = int(resultP / resultR)
print(f'조합 결과 {numN}C{numR}: {resultC}')
return resultC
sample = proFun()
print(sample)