언어/기타
2006.08.09 05:42

제곱근의 연산

조회 수 623 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

예제 : 다운로드


------------------------------------------------------------------------------


 


이번에는 알만툴에서는 자체적으로는 불가능한 연산인 제곱근을 구하는 방법을 간략히 써보겠습니다. 분명히 지난번의 최대공약수 및 최소공배수 구하기 보다는 훨씬 쓸모 있을겁니다.


 


일단 제곱근이라 함은 root... 간단한건데, 예를 들어 1의 제곱근은 ±√1 = ±1, 4의 제곱근은 ±√4 = ±2 등 제곱의 반대 개념이라고 볼 수 있겠는데.. 제곱은 자기 자신을 자신에 곱하는 것인데, 그냥 보고는 원래 자신이 무엇이었는지는 알 수 없습니다. 예를 들어서 443556을 딱 보면 바로 "±666의 제곱이구나"하고 알 수 있지는 않습니다. 그렇기 때문에 ±√443556이라고 하면 값은 ±666과 같아지는, 뭐 그런 것입니다.


 


R2K에서는 아시다시피 소수점 연산이 되지 않습니다. 어쩌면 매우 치명적일 수도 있지만, 어쩔 수 없습니다. 그냥 씁시다. 그리고 변수도 겨우 7자리 밖에 못씁니다(한번 고쳐보려고 여러가지 해보다가 우연히 수치 입력의 처리를 하면 99999999까지 가능한걸 발견, 그러나 연산이 안됨.). 그렇다고는 해도 우리에겐 정수님들이 계십니다! 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 ... 정수의 제곱은 완벽하게 나오며 그 외의 경우 ±0.5 이하의 오차가 생깁니다.


 


이제 본격적으로 설명을 하겠습니다. 구할 수를 입력시킵니다. 이제 계산용 변수에 0부터 넣어봅니다. 그 값을 계산용 변수 2에 대입시키고, 곱해서 제곱이 되게 합니다. 구할 수와의 차를 계산해서 차가 가장 작은 것을 구합니다. 9999999의 제곱근은 약 ±3162이니 그 때 까지 반복해줍시다.


 


하지만, 이딴 방법은 어딘지 모르게 무식해보입니다. 게다가 만약 변수 최대수 제한이 없다면 상당히 느릴 것입니다. 그래서 조금이라도 렉을 줄이고자 다른 방법을 마련했습니다.


 


계산용 변수에 1을 넣어줍시다. 반복을 할 때 마다 2씩 더하고 구할 수와 계산용 변수의 차가 n÷2 이하이면 구한 수가 되게 합니다. 어떤 원리로 작동되느냐? 일단 (n+1)²은 n²+2n+1²입니다. 직접 곱해보시거나 곱셈공식 암기 하셨으면 아실겁니다. 아무튼 저렇게 되면 n²과의 차는 당연히 2n+1입니다. 그렇습니다. 2n+1이 이 변수의 정체인 것입니다. 이렇게 하면 무조건 끝(3162)까지 갈 필요도 없고 약간이나마 빨라집니다. 차가 (2n + 1)÷2보다 작으면 그것이 답이거든요.


 


(추신 : 수치 입력의 처리는 +, - 조절은 안되더군요. 그래서 허수 개념은 넣을 필요가 없었음.)


 


 

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
701 언어/기타 [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집 file 황금상자 2017.07.14 702
700 언어/기타 JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기 title: 댓글러lklslel 2016.12.24 851
699 언어/기타 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요 file 마나님이 2016.11.08 908
698 언어/기타 게임의 버전을 짜 보자! - 유의적 버전 2.0.0 Yanggaeng 2016.06.07 1123
697 언어/기타 RPG게임 뻔한요소들. 8 title: 천무천무 2015.10.05 1644
696 언어/기타 자바스크립트와 관련해서 참고할 만한 사이트들 3 MARCO 2015.10.04 921
695 언어/기타 꿀잼이군요! 3 사람님[대회참가] 2015.05.20 873
694 언어/기타 [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계 title: 천무천무 2015.04.02 636
693 언어/기타 오다 주웠습니다. 9 사람님[대회참가] 2015.03.30 917
692 언어/기타 무료 이미지 사이트 Pixabay! 9 file 나작소 2015.03.28 909
691 언어/기타 페인터(코럴) 브러쉬 세팅 공유 :) 8 file 샤이귤군 2015.03.28 1577
690 언어/기타 유화재료 & 기법 살짝 팁 공유 (매우 깁니다 -3-) 11 file 샤이귤군 2015.03.28 912
689 언어/기타 픽사에서 텍스쳐 꽁짜로 뿌림ㅋ 8 사람님(대회참가) 2015.03.26 912
688 언어/기타 멀티해상도에 따른 속도와 가속도 값의 조절 1 MiDtics2 2013.01.13 859
687 언어/기타 [Android] 멀티스크린 노하우 2 MiDtics2 2012.10.27 1516
686 언어/기타 [js] 코드 압축 걸음마 2 1 2012.06.12 1059
685 언어/기타 [css] css 겉핥기 핥핥 1 file 2012.05.03 938
684 언어/기타 [css, js] form - select안의 option들에 스타일 적용하기 4 file 2012.04.28 5364
683 언어/기타 게임,개발기획의 기초 5 Grand 2011.08.01 2901
682 언어/기타 지형설정에서 원경(앞, 뒤)가 가지는 역할 file Dicky 2011.07.28 2491
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 36 Next
/ 36


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

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