언어/기타
2006.07.09 17:40

최대공약수와 최소공배수 구하기

조회 수 1040 추천 수 2 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
[예제 다운로드]

※주석을 넣는 중 실수로 지워버린 부분을 수정하였습니다. 그리고 100과 10000등 두 수를 곱하여 999999를 넘어가버리는 수는 변수 최대치 때문에 어쩔 수가 없습니다.







일단 이 글을 쓰게 된 경위는, 제가 무언가 게임제작툴 강좌를 해야겠으나, 할 것이 없기에 이거라도...



먼저 최대공약수란 무엇이냐?

두 수가 있을 때 둘이 공통으로 가진 약수 중에 가장 큰 것을 말합니다.
예를 들어서 6의 약수는 1, 2, 3, 6이고 4의 약수는 1, 2, 4 입니다. 공통으로 1, 2를 가졌고 가장 큰 것이 2입니다.


그렇다면 최소공배수는?

두 수가 있을 때 둘이 공통으로 가진 배수 중에 가장 작은 것을 말합니다.
예를 들어서 6의 배수는 6, 12, 18, 24... 이고 4의 배수는 4, 8, 12, 16, 20, 24... 입니다. 공통으로 가진 것 중 가장 작은 것이 24입니다.

최대공약수를 구하는 방법은?

중1 과정에서 소인수분해라는 것을 배웁니다만.. 알만툴로 이거 하려다 미치는줄 알았습니다. 그래서 안했습니다[...-_-]

또 다른 방법으로는 유클리드 호제법이라는게 있는데, 이것이 무엇이냐하면 말입니다.
지식in을 참고하면:

"자연수 a, b에 대하여 a를 b로 나누었을 때, a=bq+r 을 만족하는 적당한 정수 q, r이 존재한다. 이 때, gcd(a, b) = gcd(b, r) 이다."

라고 나와있습니다.

나누기를 했을 때 피제수=제수 × 몫 + 나머지 라는 것은 초등학생도 알 수 있는 것이고..
gcd란 것은 아마 Greatest Common Division이 아닌가하는데 아무튼 한글로는 최대공약수입니다.
즉 피제수와 제수의 최대공약수는 제수와 나머지의 최대공약수와 같다라는 말입니다.

그렇다면 이 원리를 어떻게 쓸 수 있느냐?

52와 36의 최대공약수를 구해보겠습니다.

원래 소인수분해를 하면 2 × 2 × 13, 2 × 2 × 3 × 3 이라는 결과가 나와서 최대공약수는 4입니다마는,
이 방법을 이용하면

52, 36
52-36, 36=16, 36
16, 36-16=16, 20
16, 20-16=16, 4
16-4, 4=12, 4
12-4, 4=8, 4
8-4, 4=4, 4
4-4, 4=0, 4

여기서 둘 중 하나가 0이 되면 남은 다른 하나가 최대공약수가 됩니다. 그래서 최대공약수는 4입니다.

계산법은, 큰수와 작은 수가 있으면 큰수에서 작은 수를 나누고 나머지를 값으로 가집니다. 그리고 그 과정을 반복합니다. 어느 한쪽이 0이 되면 남은 한 수가 최대공약수이고 두 수가 같아지면 둘 다 최대공약수가 됩니다.


최소공배수를 구하는 방법은?

두 수가 있을 때 첫번째 수 × 두번째 수 ÷ 최대공약수

끝입니다.


최대공약수 및 최소공배수는 알만툴에서 어떻게 활용할 수 있겠는가?

알아서 찾아보시길...[-ㅅ-]
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
664 언어/기타 키입력의 처리란 무엇인가? 2005.07.10 1078
663 언어/기타 스위치와 변수를 배워보자! 2005.06.27 1078
662 언어/기타 이해하기 어려운 맵배치 강좌 - 숲 - 에그。 2006.08.03 1077
661 언어/기타 프린세스메이커3를 만들어보자!!③.엔딩편 Ress 2006.02.06 1077
660 RPG Maker 좌표간 거리구하기 알아두면 좋다! 다크아머 2006.04.22 1075
659 언어/기타 게임기획 및 시나리오 양식 10 리혜 2010.04.11 1071
658 언어/기타 포인터변수. 연지 2006.09.07 1067
657 언어/기타 나의 크링이!! 아란 2006.08.14 1067
656 언어/기타 [서론] 콘솔창으로 작업하는 것이 허무하신가요? Zeprod 2006.12.10 1064
655 언어/기타 원초적 초딩 플레이 방지 시스템 CC(虎) 2006.04.09 1064
654 RPG Maker RPGXP 스크립트를 공부 합시다. -2강(수치의 계산 편)- 1 장아찌 2005.06.05 1058
653 언어/기타 원거리 액알 대략의 원리설명. 린쌍 2006.04.11 1054
652 RPG Maker ☆★특명★☆ rpg2k로 srpg 만들기(1) 길모나 2006.05.09 1053
651 언어/기타 글자색 바꾸기!! [ 초보용 ] 샤르엘 2006.08.10 1051
650 언어/기타 [연재] 비주얼노벨을 만들자 1강. 게임 디스플레이를 디자인하자! : vnap.ini 건드리기 (1) file 만삐 2006.08.26 1050
649 RPG Maker 유명한 게임들에 대한 고찰 『연금술사』 2006.02.05 1044
648 언어/기타 [도트] 포션그리기 카타린 2006.12.10 1041
» 언어/기타 최대공약수와 최소공배수 구하기 file Yggdrasil 2006.07.09 1040
646 RPG Maker 스위치를 알아보자. 장아찌 2005.05.28 1037
645 언어/기타 글씨에 색깔을 넣어보자 1 사토루 2005.08.07 1035
Board Pagination Prev 1 ... 13 14 15 16 17 18 19 20 21 22 ... 51 Next
/ 51






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)