writeup/해킹캠프CTF 2014

2014 동계 해킹캠프 미니 CTF Optimize 풀이(python)

진모씨 2014. 2. 19. 15:13

그리고 문제 설명에 "값이 잘못되었다"라는 맥락이 있다던데, 2^109875 - 1 의 값을 구해서 보내주면 된다고 한다.


그리고 문제 소스코드는 너무 오래 걸려서 pow_plus함수는 안쓴다.

파이썬은 그걸 한줄로 줄여준다! ㄹㄹ


사실 등비수열 합공식을 써서 줄인거다. 원래 함수는..

def pow_plus(x,n):

result = 0

for i in range(0,n+1):

result = result + x*i

return result

인데, 그냥 수학적으로 계산해서 아래에 나온 한 줄로 줄인다.


import socket 


x = 2**109876-1

key = x

print (key)


host = '172.30.1.11'

port = 9696


s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.connect((host,port))


s.send(key)

s.recv(1024)