ㅠㅠㅠ질문이 많아서 죄송합니다

le5544 Reply 4 years 32 weeks ago
//(a^2-b^2) == (a+b)(a-b) //b = a-1일 때 최대. 이 논리로 a최대값을 정하고 //a가 최소인 경우: ceil(sqrt(n)) 이런식으로 알고리즘을 짰는데 혹시 이거보다 더 효율적인 방법이 있을까요?? 계속 Time Exceed 뜨네요....
withcs2 Reply 4 years 32 weeks ago
n과 a가 정해진 상태에서 b를 굳이 반복문으로 찾아야 할까요?
le5544 Reply 4 years 32 weeks ago
아 말씀주신대로 b를 따로 구하니 시간 효율이 훨씬 단축됐습니다. 그런데 여전히 time exceed 뜨네요 ㅠㅠㅠㅠ 제가 생각하기로 a가 가질 수 있는 최대값은 (a+b)(a-b) = n일 때 a가 이 값이라 생각하는데 혹시 수행시간을 더 줄일 수 있는가요??
withcs2 Reply 4 years 32 weeks ago
사실 a를 먼저 구하려는 것부터 이미 TLE의 늪에 빠진 겁니다ㅎㅎ 그리고 sqrt는 내부적으로 반복문을 실행하기 때문에 지금 제출하신 코드의 시간복잡도는 이전에 제출하신 이중for문과 별 다를 바 없습니다 거의 다 왔으니 조금 더 고민해보시면 될 것 같습니다 연립방정식을 사용해보세요
le5544 Reply 4 years 32 weeks ago
아까 말씀은 b를 기준으로 반복문을 돌리라는 말씀인가요??? 해봤는데 여전히 Time exceed뜨네요 ㅠㅠㅠㅠㅠ 도와주시면 정말 감사드리겠습니다.ㅠㅠㅠㅠ
withcs2 Reply 4 years 32 weeks ago
여럿 낚으려고 했는데 벌써부터 결정적 힌트를...ㅜ a+b와 a-b를 알면 a, b를 구할 수 있습니다