[개념] x, y의 최대 공약수는 y, r의 최대 공약수와 같다. 이때 r은 ( x % y ) 나머지가 0이 나오는 시점까지 연산하여 최대 공약수를 구할 수 있다. [실습 1] 유클리드 호제법을 이용하여 최대공약수를 구해보자. num1, num2 = map(int, input().split()) temp1, temp2 = num1,num2 while temp2>0 : temp = temp2 temp2 = temp1 % temp2 temp1 = temp print('{}과 {}의 최대 공약수는 {}'.format(num1,num2,temp1)) for i in range(1,temp1+1): if temp1 % i == 0: print('{}과 {}의 공약수는 {}'.format(num1,num2,i)) ..
제로베이스
[개념] 두 개 이상의 수에서 공통된 약수를 공약수라고 한다. 그리고 그 중 가장 큰 값을 최대 공약수라고 한다. 사례) 12, 54, 72의 최대 공약수를 구해보자 2 12 54 72 3 6 27 36 2 9 12 다음과 같이 나누기 연산으로 최대 공약수를 구할 수 있습니다. ( 2*3 = 6 ) [실습 1] 두 개의 수를 입력하면 공약수와 최대 공약수를 출력하는 코드를 작성하자 # num1, num2 = map(int, (input().split()).sort()) 이렇게 하면 오류남 num1, num2 = map(int, sorted(input().split())) max_num = 1 for n in range(2,num1+1): if num1 % n == 0 and num2 % n == 0: m..
[ 개념 ] 약수(인수) 중에서 소수인 숫자를 소인수라고 한다. 1보다 큰 정수를 소인수의 곱으로 나타낸 것을 소인수 분해라고 한다. ex) 20을 소인수 분해 하면 다음과 같다. : 2^2 * 5 구한 소인수를 가지고 약수를 모두 구할 수 있다. 1 5 1 1 5 2 2 10 2^2 4 20 실습 1 : 사용자가 입력한 수를 소인수 분해 하기 number = int(input()) n=2 while n
[개념] 어떤 수를 나누어 떨어지게 하는 수를 약수라고 하고 1과 자신만을 약수로 가지는 수를 소수라고 합니다. (단, 1은 소수가 아니다.) [ 실습 1 ] 소수 찾기 def is_decimal(num): if num