fork download
  1. import math
  2.  
  3. def is_square(n):
  4. root = int(math.sqrt(n))
  5. return root * root == n
  6.  
  7. def count_non_square_numbers(n):
  8. count = 0
  9. for i in range(1, n + 1):
  10. if not is_square(i):
  11. count += 1
  12. return count
  13.  
  14. def find_kth_non_square_number(k):
  15. start = 1
  16. end = k * 2
  17. while start < end:
  18. mid = (start + end) // 2
  19. if count_non_square_numbers(mid) >= k:
  20. end = mid
  21. else:
  22. start = mid + 1
  23. return start
  24.  
  25. # 입력 받기
  26. K = int(input())
  27.  
  28. # K번째 제곱ㄴㄴ수 찾기
  29. result = find_kth_non_square_number(K)
  30.  
  31. # 결과 출력
  32. print(result)
  33.  
Success #stdin #stdout 0.04s 9824KB
stdin
1
stdout
2