죄송합니다 Time limit exceed 때문에 다시한번 질문드립니다..

thetwo0525 Reply 4 years 30 weeks ago
교수님이 말씀해주신대로 (int)x 등으로 바꿔서 컴파일에러는 해결했는데 배열 할당 개수에 따라 런타임 에러 또는 Time limit이 뜨네요 충분히 줄인 것이라 생각되는데 어떻게 해야 할까요..?
withcs2 Reply 4 years 30 weeks ago
Runtime Error는 arr 크기가 너무 작아서 그렇습니다. Time Limit Exceed는 Runtime Error를 해결했지만 너무 오래 걸려서 그렇습니다. 더 줄일 수 있어요 그리고 줄바꿈 잊지 마시구요! n의 인수들은 for (i = 1; i*i <= n; i++){ if(n%i==0){ 여기서 i와 n/i는 n의 인수 } } 이렇게 하면 빠르게 확인할 수 있습니다. 혹은 math.h의 sqrt함수를 사용하면 for (i = (int)sqrt(n); i>=1; i--){ if(n%i==0){ 여기서 i와 n/i는 n의 인수 } } 이렇게도 확인할 수 있고요 그리고 저는 교수님이 아니라 조교입니다ㅎㅎ discuss에 올라온 질문들은 제가 답변드리고 있습니다 감사합니다.