2012-02-10 3 views
0

나는 급진적 인 형태를 가장 단순한 급진적 인 형식으로 만드는 프로그램을 만들려고했습니다. 나는, 운좋게도 운이 없었습니다.자바 - 가장 간단한 라디칼 양식

String을 사용하는 메서드를 찾고 있는데 String을 반환합니다.

입력 String : sqrt[160]. 나는 이미 나의 방법을 수치로 만들었다 (160). 사전에 "4*sqrt[10]"

감사 :

지금, 난 그냥 160를 중단하고 String 등을 반환하는 뭔가가 필요!

참고 :

  1. 위는
+3

당신이 (1) 당신의 모범을 일관되게하고 옳게 만들고, (2) 지금까지 가지고있는 코드를 보여 주면 도움이 될 것입니다. –

+1

Err,'4 * sqrt [10]'은 √160, √120이 아님 –

+0

상징적 인 수학 라이브러리를 찾고 있습니까? [이 질문] (http://stackoverflow.com/q/3587557/341970) 흥미로운 찾을 수 있습니다. – Ali

답변

2

수를 2로 나누면 수의 지수가 제곱근 바깥으로 이동할 수 있습니다. 루트 기호 아래에 남게 나머지 부분을 곱하십시오.

+0

어떻게 모든 요소를 ​​얻을 수 있습니까? 이제 나머지 방법을 알고 있습니다 ... – Confiqure

+0

간단한 방법 : 2에서 시작하는 숫자를 나누기 시작하십시오. 현재 숫자가 구분 기호 인 경우이를 요인으로 저장하고 지수를 하나씩 증가시킵니다. 그렇지 않은 경우 다음 번호로 이동하십시오 (실제로 사업부가되지는 않음). 나누기 결과가 1이 될 때까지 반복하십시오. – zeller

+0

대단히 감사합니다! – Confiqure

1

는 "간단한 급진적 인 형태를"정의 그냥 예입니다.

언제부터 sqrt(120) = 4*sqrt(10)입니까? 내 계산기가 말해 줬어 10.954 != 12.649. 이것은 오타입니까? 아마도 당신은 sqrt(160)을 의미했을 것입니다.

양식을 단순하게 만드는 이유는 무엇입니까?

메서드 인터페이스는 쉽습니다. 구현할 논리가 더 어렵습니다. 제곱근 기호 아래의 값을 정수 요소로 분해하고 완벽한 제곱근을 찾아야합니다.