#파이썬을 이용하여 약수를 구하기
inputNum = int(input('숫자입력 :'))
for number in range(1, inputNum + 1):
if i % number == 0:
print(f'{inputNum}의 {number}')
#파이썬을 이용하여 소수 구하기
inputNum = int(input('숫자입력 :'))
for number in range(2, inputNum + 1):
flag = True
for n in (2, number):
flag = False
break
if flag:
print(f'{number} : 소수')
else:
print(f'{number} : 합성수')
#파이썬을 이용하여 소인수 구하기
inputNum = int(input('숫자입력 :'))
n = 2
while n <= inputNum:
if i % n == 0:
print(f'소인수 : {n}')
inputNum /= n
else:
n += 1
#파이썬을 이용하여 공약수 구하기
n1 = int(input('숫자1 입력 :'))
n2 = int(input('숫자2 입력 :'))
for i in range(1, n1 + 1):
if n1 % i == 0 and n2 % i == 0:
print(f'공약수 : {i}')
#파이썬을 이용하여 최대공약수(maxNum) 구하기
n1 = int(input('숫자1 입력 :'))
n2 = int(input('숫자2 입력 :'))
maxNum = 0
for i in range(1, n1 + 1):
if n1 % i == 0 and n2 % i == 0:
print(f'공약수 : {i}')
maxNum = i
print(f'최대공약수 : {i}')
#유클리드 호제법을 이용하여 공약수 구하기
n1 = int(input('숫자1 입력 :'))
n2 = int(input('숫자2 입력 :'))
temp1 = n1; temp2 = n2
while temp2 > 0:
temp = temp2
temp2 = temp1 % temp2
temp1 = temp
print(f'{n1},{n2}의 최대공약수 {temp1}')
for n in range(1,temp1+1):
if temp1 % n == 0:
print(f'{n1},{n2}의 공약수 {n}')
#최소공배수(minNum)는 최대공약수(maxNum)를 이용하여 구할수있음
minNum = (n1*n2) / maxNum
print(f'{n1},{n2}의 최소공배수 {minNum}')
#파이썬을 이용해 10진수를 x진수으로 변환하는 방법
10진수 -> 2진수
print('2진수 : {}'.format(bin(dNum)))
print('2진수 : {}'.format(format(dNum, '#b')))
10진수 -> 8진수
print('8진수 : {}'.format(oct(dNum)))
print('8진수 : {}'.format(format(dNum, '#o')))
10진수 -> 16진수
print('16진수 : {}'.format(hex(dNum)))
print('16진수 : {}'.format(format(dNum, '#x')))
x진수에서 10진수로 변환하는 방법
print('2진수(ob11110) -> 10진수{}'.format( int('ob11110',2)))
print('8진수(0o36) -> 10진수{}'.format( int('0o36',8)))
print('16진수(0x1e) -> 10진수{}'.format( int('0x1e',16)))
(1) 등차 수열 규칙성을 이용해서 일반항을 구할 수 있다.
일반항 : an = a1+(n-1)*d
등차중항 : an = (a(n-1) + a(n+1)) / 2
등차수열의 합 : Sn = n(a1 + an) / 2
#파이썬을 이용하여 등차수열 an구하기
inputN1 = int(input('a1 입력 :'))
inputN = int(input('n 입력 :'))
inputD = int(input('공차 입력 :'))
valueN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputN1
n += 1
continue
valueN += inputD
n += 1
print(f'{inputN}번쨰 항의 값 : {valueN}')
(1) 등비 수열 규칙성을 이용해서 일반항을 구할 수 있다.
일반항 : an = a1r^(n-1)
등차중항 : an^2 = a(n-1) a(n+1)
등차수열의 합 : Sn = a1 * (1-(r^n))/(1-r)
#파이썬을 이용하여 등비수열 an구하기
inputN1 = int(input('a1 입력 :'))
inputN = int(input('n 입력 :'))
inputR = int(input('공차비 입력 :'))
valueN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputN1
n += 1
continue
valueN *= inputR
n += 1
print(f'{inputN}번쨰 항의 값 : {valueN}')
#파이썬을 이용하여 계차수열을 가지는 an 구하기
inputA1 = int(input('a1 입력 :'))
inputAn = int(input('an 입력 :'))
inputB1 = int(input('b1 입력 :'))
inputBn = int(input('bn공차 입력 :'))
valueAn = 0
valueBn = 0
n=1
while n <=0:
if n == 0:
valueAn = inputA1
valueBn = inputB1
n += 1
continue
valueAn = valueAn + valueBn
valueBn = valueBn + inputBn
n += 1
print(f'{inputAn}항의 값은 : {valueAn}')
# 파이썬을 이용하여 피보나치수열 n번째항의 값과 합 구하기
num = int(input('n 입력 :'))
sumN = 0; valueN = 0
valuePreN1 = 0
valuePreN2 = 0
n = 1
while n <= num:
if n == 1 and n == 2:
valueN = 1
valuePreN1 = valueN
valuePreN2 = valueN
n += 1
sumN += valueN
else:
valueN = valuePreN1+ valuePreN2
valuePreN2 = valuePreN1
valuePreN1 = valueN
sumN += valueN
n +=1
print(f'{num}항의 값은 : {valueN}')
print(f'{num}항 까지의 값은 : {sumN}')
#파이썬을 이용하여 팩토리얼 구하기
반복문
n = 10 # 원하는 숫자 n!
result = 1
for n in range(1, n +1):
result *= n
재귀함수
def factorial(n):
if n == 1:
return 1
return n * actorial(n-1)
모듈
import math
math.factorial(factorial(n))
nPr = n!/(n-r)!
# 파이썬을 이용하여 순열구하기
numN = 8
numR = 3
result = 1
for n in range(numN , numN-numR , -1):
result *= n
# 파이썬을 이용하여 원순열구하기
n = 10 # 총n개
result = 1
for n in range(1, n):
result *= n
nCr = nPr/r! = n!/(r!*(n-r)!)
#파이썬을 이용하여 조합구하기
numN = 8
numR = 3
resultP = 1
resultR = 1
resultC = 1
for n in range(numN , numN-numR , -1):
resultP *= n
for n in range(1, numR+1):
resultR *= n
resultC = resultP/resultR
print(f'조합은 : {resultC}')
#박스에 ‘꽝’이 적힌 종이가 4장 있고, ‘선물’이 적힌 종이가 3장이 있을 때,
#파이썬을 이용해서 ‘꽝’2장과 ‘선물’ 1장을 뽑는 확률(%)구하기
def proFun(): # 함수 이용하기(조합구하는 함수)
numN = int(input('숫자입력 : '))
numR = int(input('숫자입력 : '))
resultP = 1
resultR = 1
resultC = 1
for n in range(numN, numN-numR, -1):
resultP *= n
for n in range(numR, 0, -1):
resultR *= n
resultC = resultP/resultR
return resultC
sample = proFun()
print(f'{sample}')
event1 = proFun()
print(f'{event1}')
event2 = proFun()
print(f'{event2}')
probabilty = (event1*event2) / sample
print(f'{round(probabilty*100, 2)}')