안녕하세요.
이번 시리즈에서는 Codewars의 도전 과제와 저의 사고 과정을 포스팅하고 있습니다. 가능할 때마다 JS와 Node 18을 사용하고 있습니다. 명확성을 위해 공정하게 사용하고 있습니다.
이 시리즈의 다음은 Sum of Numbers입니다. 이 특정 문제에서는 코딩보다 수학에 가깝습니다. 보세요, 면적을 계산해야 합니다. 예를 들어 이 그래프에서는 -5와 4 사이의 모든 값을 표시합니다.
원하는 경우 통합을 사용할 수 있지만 더 간단한 방법이 있습니다. 선형 함수를 다루고 있으므로 중앙값을 검색하고 범위에 곱할 수 있습니다.
그러므로 해당 방정식을 코드에 삽입하기만 하면 됩니다. 다음과 같이 시작됩니다:
function getSum(a, b) { //Good luck! }
function getSum(a, b) { let sum = (b ** 2 - a ** 2 + b + a ) / 2 ; return sum; }
테스트 결과는 다음과 같습니다.
근데 왜요? 방정식이 정확하게 단순화된 건 알아요. 그래서... 아. 이것이 문제입니다:
getSum(a, b)
(a,b) 정확히 그 순서대로요. 입력이 (-5,4)이면 작동하지만 (4,-5)이면 작동하지 않습니다. 고치다? 두 상황 모두에 대해 "if" 문을 코딩할 수 있습니다. 그래도 나는 그렇게 하지 않을 것이다. 저는 이렇게 하겠습니다:
if (a > b){ let c = a; a = b; b = c; }
그래서 우리는 모든 것을 하나로 모았습니다.
function getSum(a, b) { if (a > b){ let c = a; a = b; b = c; } let sum = (b ** 2 - a ** 2 + b + a ) / 2 ; return sum; }
어느 정도 괜찮고 읽기 쉽습니다.
시아. 물을 마셔요???.
이전
위 내용은 Codewars - 초급 시리즈 #um of Numbers의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!