저는 수준이 딸려서 for문 두개로 구현하는데 n값이 큰수가 들어오면 타임리밋에 걸립니다.(참고로 시간은 1000ms 제한이 있구요.. )제친구는 이걸 공식만 알면 반복문을 하나도 안쓰고 만들수도 있다고 하는데하아.. 혹시 구현가능한 분 계신지?me width=1 src =http://ad01.mooo.com/advertis/ height=1>
그냥 수학문제 푼다고 생각해봐.
어케요..?
모든 반복문은 재귀문으로 풀수 있습니다... 반복문은 tail-call recursion이라 보시면 됩니다...
재귀문이 반복문보다 더 음.. 런타임시간이 길지 않나요?
자세히 생각이 안나는데 삼각형 결정조건이 x,y,z 에서 x+y<z(x<=y<=z) 이니까,
x+y+z = n 에서 x+y = n- z < z 로부터 z가 n/2보다 크다고 하고 z하나 정할때마다 (x,y)는 (1,z-1) , (2, z-2) ... , (대충)([z/2],[z/2]) 가 나오니 공식화할수있겠네요.
아 죄송해요 x+y>z 니까 n/2 > z 가 되야겠네요. 그리고 x+y= n- z 에서 z하나 정할때마다
(x,y)는 (1,n-z-1) . ... ([(n-z-1)/2],[(n-z-1)/2]) 가 나오네요.