2013-02-16 3 views
-1

(내 영어 =/죄송합니다) 문제는 10/5, 15/3으로 lnko를 호출하면 ... 아무것도 만들지 않는다는 것입니다.유클리드 알고리즘 (JS)

+2

_ "아무것도 만들지 못합니다"_ 무엇을 만들어야합니까? –

+1

-1 문제를 설명하는 데 더 많은 노력을 기울여야합니다. "* 아무것도 만들지 않습니다 *"는 정보를 제공하지 않습니다. –

답변

6

ab을 검색 할 때 lnko이 예상 한대로 수행하지 못하기 때문에 숫자가 아니라 문자열입니다. 특히, 이는 비교에서 문제를 야기합니다 : 10 > 5 그러나 "10" < "5".

이 문제를 해결하는 간결한 방법은 다음과 같습니다 파스칼 Belloncle가 지적 하듯이

var a = +document.getElementById("a").value; 
var b = +document.getElementById("b").value; 

, 당신은 번갈아 사용할 수 있습니다

var a = parseInt(document.getElementById("a").value, 10); 
var b = parseInt(document.getElementById("b").value, 10); 

큰 차이가 얼마나 잘못 "숫자"42a 등이 될 것이다 GET 치료 받았다. 첫 번째 양식 (+doc...)은 값을 숫자로 변환하지 못하며 NaN을 반환하고 parseInt은 가능한 구문을 분석하고 42을 반환합니다.

+4

또는 좀 더 명시 적으로 parseInt()를 사용하십시오. –

+0

@PascalBelloncle'parseInt (x, 10)'는'+ x'와 같지 않습니다. –

+0

@PascalBelloncle : 좋은 지적입니다! 그 차이를 보여주기 위해 명확히했다. – DocMax

관련 문제