데이터분석 3주차-1

이정훈·2023년 2월 13일
0

오늘은 문제 풀이를 스스로 해보려고 갖은 노력을 하였지만.. 결국 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}는 서로소이다.')
profile
데이터 분석 준비생

0개의 댓글