dokrsky   8년 전

제 소스코드 내용은 이러합니다.

A = GCD * a

B = GCD * b ( 이때 a, b는 서로소 )

LCM = GCD * a * b 이기 때문에

a * b를 구하기위해 LCM / GCD를 했습니다.( 해당소스에선 value = lcm / gcd )

후에 findDivisor( 반복되지 않는 약수들 중에서 가장 큰 수를 구하는 것 , 예를들어 30이 인자로 넘어왔다면 5를 리턴하도록 하였습니다. )

findDivisor 함수안에선 위에서 말씀드린 a*b를 인자로 받았으므로, a*b의 약수들 중에서 가장 큰 수를 구하기 위해 

a*b % i가 0일 때, 서로소 인지를 검사하고 그것이 아니라면 a*b의 약수를 계속해서 maxDivisor에 대입합니다.

findDivisor 함수가 끝나게 되면 maxDivisor변수에 값이 들어가게 되는데, 이 값과 value값을 나누고 정답을 출력하는 형식입니다.

(만약 a*b가 30이라면   maxDivisor 변수에는 5가 들어갈 것이고, v 에는 6이 들어갈 것입니다.

그러면 정답은 gcd * 5, gcd * 6이 됩니다. )

main부분에서 LCM이 0인 경우도 처리해줬는데, 어디가 에러가 나는 것일까요?

dokrsky   8년 전

cubelover 님 감사합니다..하... 런타임에러 너무많이나서...바보같은 실수를..ㅠㅠ

게다가 maxDivisor 값을 1로 초기화하니 맞았습니다가 떴습니다 감사합니다......


댓글을 작성하려면 로그인해야 합니다.