파이썬 Python/파이썬

[5일차 / 파이썬] 함수

하나비 HANABI 2022. 12. 30. 13:09

하나의 숫자를 입력받아 소수를 판별

# 하나의 숫자를 입력받아 소수를 판별하는 함수를 정의하시오
def discrimination(number):
    count = 0
    for i in range(1, number+1):
        if number%i == 0:
            # 소수 아님
            count += 1
        
    if count == 2:
        return True
    else:
        return False

num = int(input('정수를 입력하세요: '))
discrimination(num)

'''
정수를 입력하세요: 5
True
'''

★ 위의 함수를 이용하여 2부터 주어지는 수 까지의 소수 합

# 나의 코드
def discrimination(number):
    total = 0
    for n in range(2, number+1):
        count = 0
        for i in range(1, number+1):
            if n%i == 0:
                # 소수 아님
                count += 1

        if count == 2:
            total += n
    return total

num = int(input('정수를 입력하세요: '))
discrimination(num)

'''
정수를 입력하세요: 5
10
'''
# 예시코드
def calc_total(number):
    total = 0
    for i in range(2, number+1):
        if discrimination(i):
            total += i
    print(total)

num = int(input('정수를 입력하세요: '))
calc_total(num)

'''
정수를 입력하세요: 5
10
'''

함수로 최대공약수 구하기

def computeMaxGong(x,y):
    if x>y:
        small = y
    else:
        small = x
    for i in range(1, small+1):
        if((x%i==0)and(y%i==0)):
            result = i
    return result
    
num1 = int(input('첫번째 수를 입력하세요: '))
num2 = int(input('두번째 수를 입력하세요: '))

max_gong = computeMaxGong(num1, num2)
print('%d과(와) %d의 최대 공약수 : %d' %(num1, num2, max_gong))

'''
첫번째 수를 입력하세요: 33
두번째 수를 입력하세요: 44
33과(와) 44의 최대 공약수 : 11
'''