오늘은 문제 풀이를 스스로 해보려고 갖은 노력을 하였지만.. 결국 4시간동안 2문제를 골똘히 생각하고 결국 해설강의에서 답을찾아.. 2강의 밖에 수강을 하지 못하였다..
-소인수와 소인수분해
100 부터 1000 사이의 난수를 소인수 분해 하고 각각의 소인수를 출력하는 프로그램
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 /= 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
-최대공약수
100부터 1000사이의 2개의 난수에 대해서 공약수와 최대공약수를 출력,서로소인지 출력하는 프로그램
import random #random 모듈
rNum1 = random.randint(100,1000) #난수1생성
rNum2 = random.randint(100,1000) #난수2생성
print(f'rNum1 : {rNum1}') #난수1
print(f'rNum2 : {rNum2}') #난수2
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}는 서로소이다.')