kingjong   5년 전

문제에 나온 조건 그대로 코딩 했습니다!

제가 틀린 부분이 있다면 어디일까요..?

--문제가 요구하는 방향과 어긋나, 소스는 삭제 했습니다.--

djm03178   5년 전

sizeof(int) * 10억은 약 4GB의 메모리를 필요로 합니다. 물리적으로 할당이 불가능하기 때문에 런타임 에러가 발생합니다.

kingjong   5년 전

그래서 jor배열 자체를 없애버리고 

if(jor[i] % (int)pow(2, j) == 0) 조건에서도 jor대신 2*(i+1)을 넣었습니다!

이번엔 시간 초과네요...ㅠㅠ 넘나 속상해요!!

djm03178   5년 전

시간복잡도에 대해 공부해 보시면 좋을 것 같습니다.

지금 코드의 로직은 너무나 문제가 많은데, 몇 가지만 말씀드리면

  1. O(num)의 루프를 이중으로 돌고 있어서 시간복잡도가 O(num^2)이나 되고
  2. int나, double이나 나타낼 수 있는 수에는 한계가 있고 pow(2, j)로 원하는 값이 다 정확하게 표현이 안 됩니다.

kingjong   5년 전

감사합니다. 지금 섣불리 풀려고 하기보단 시간복잡도에 대해서 먼저 공부해야겠네요.

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