나는 문제와 토론을 여기에서보고 있었다 : 쉬운 인터뷰 질문이 더 어려워졌다 : 주어진 숫자 1..100, 누락 된 숫자 (들) 찾기
사용자 중 한 명이 다음 방정식을 사용하여 솔루션을 제공했습니다. k1 + k2 = x
k1 ^ 2 + k2 ^ 2 = y
대체는 (x-k2) ^ 2 + k2 ^ 2 = y를 제공합니다.
나는이 방정식을 더 풀려고 노력하고 있으며 중복을 찾는 문제를 해결하기 위해 C 프로그램을 생각해 냈다. 많은 시간을 보냈음에도 불구하고 k1 또는 k2 한 쪽을 얻기 위해이 방정식을 풀 수 없었습니다. 나는 항상 방정식의 양쪽에서 k1 또는 k2로 끝났습니다.
도움을 주시면 감사하겠습니다.
방정식 확장
(x - k2)^2 + k2^2 = y
그리고 얻다
x^2 - 2xk2 + 2k2^2 = y
또는
2k2^2 - 2xk2 + x^2 - y = 0
지금 차 방정식 해결 화학식 사용 az^2 + bz + c = 0
이다 (-b +/- sqrt(b^2 - 4ac))/2a
. 우리의 경우에만 그렇습니다 z=k2
. 그래서
k2 = (2x +/- sqrt(4x^2 - 8(x^2 - y))) / 4
또는
k2 = (x +/- sqrt(x^2 - 2(x^2 - y))) / 2
= (x +/- sqrt(2y - x^2)) / 2
그리고 당신은 넣을 수 있습니다
k2 = (x + sqrt(2y - x^2)) / 2
k1 = (x - sqrt(2y - x^2)) / 2.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다