2025. 3. 24. 02:37ㆍ함수계산기
이번에는 최대공약수를 계산하는 함수를 함수계산기를 사용해 만들어 보겠습니다.
먼저 함수계산기만의 코딩방식인 수식형태의 코딩으로 함수를 아래와 같이 만들 수 있습니다.
def gcd( a, b ) = gcd( b, a % b );
gcd( a, 0 ) = a;
간단히 설명하자면
def 는 함수 처음 만들 때 쓰는 코딩 키워드이고
gcd 는 함수이름
a, b 는 두 수를 나타내며
% 는 나머지 구하는 연산자이고 mod 라고도 불립니다.
첫째 줄은 함수의 정의 부분이고 재귀적으로 정의 되었습니다.
둘째 줄은 함수의 베이스 조건을 규정한 코드이고 첫째 줄이 무한히 실행하는 것을 막아주는 역할을 합니다.
이 함수는 유클리드 방법을 적용시킨 코딩입니다.
위 코딩은 아래와 같이 일반 코딩 방식으로 프로그램 할 수도 있습니다.
형태는 달라도 내용은 같습니다.
def GCD(수1,수2){
if(수2==0){
return 수1;
}
return GCD(수2,수1%수2);
}
한글이름 함수도 위 함수를 이용해 하나 더 만들어 볼 수 있습니다.
def 최대공약수(수1,수2)=GCD(수1,수2);
위 코드 3개를 복사해서 함수계산기의 공장페이지 코드창에 붙여넣고 run 버튼을 눌러 코드를 실행하세요.
저장해 놓고 사용하고싶으면 save 버튼을 눌러 저장해도 좋습니다.
실행후 계산기 페이지로 돌아가 F2 버튼을 눌러서 방금 만든 계산기를 아래 그림과 같이 계산에 사용할 수 있습니다.


최소공배수
이번에는 위에서 만든 최대공약수 함수 gcd를 이용하여 최소공배수 구하는 함수를 만들어 봅시다.
최소공배수는 두 수의 곱을 최대공약수라 나누면 됩니다.
다만 한 수가 0일 경우는 최대공약수가 0인데 이럴 경우 0으로 나누게 되므로 계산오류가 납니다.
그게 아니라도 어느 한 수가 0이면 두 수의 최소공배수는 0이기도 합니다.
아래와 같이 코딩을 할 수 있습니다.
def LCM(수1,수2){
if(수1==0||수2==0){
return 0;
}
return (수1*수2)/gcd(수1,수2);
}
간단하게 설명하자면
만약 두 수 중에 하나가 0일 경우 계산결과는 0이 되고
일반적인 경우에는 앞서 설명한대로 두수를 곱한 다음 최대공약수로 나누어지는 식으로 계산하는 함수입니다.
함수가 일반적인 수식과 다른게 이런 점입니다. 상황에 따라 달리 계산해서 결과를 내 놓는다는 점입니다.
아래 그림처럼 계산에 사용할 수 있습니다.

함수 계산기를 사용하여 여러가지 수학도구들을 만들어 보세요.
'함수계산기' 카테고리의 다른 글
생활 속의 연립방정식 (0) | 2025.03.28 |
---|---|
정적분 근사값 구하는 함수 만들기 (0) | 2025.03.27 |
한 근은 몇 그램? (0) | 2025.03.23 |
물체의 자유낙하 거리 계산 (2) | 2025.03.20 |
피보나치 수열 계산 (0) | 2025.03.16 |