프로그래밍 알고리즘

[정올 1240] 제곱근

꾸준한사람 2023. 1. 2. 22:33
반응형

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1240&sca=99 

 

JUNGOL

 

www.jungol.co.kr

#include <stdio.h>

typedef unsigned long long u64;
u64 N;

//Binary Search
u64 bsearch(u64 s, u64 e, u64 target)
{
	u64 ans = target, mid;
	while (s <= e) {
		mid = (s + e) / 2;
		if (mid <= target / mid)	ans = mid, s = mid + 1;
		else						e = mid - 1;
	}

	return ans;
}

int main(void)
{
	scanf("%lld", &N);
	u64 i = 0, s = 1, e = N/2;

	//N의 제곱근은 N/2보다 클 수가 없기 때문에, 1과 N/2 사이에서 제곱근 값을 찾는다.
	printf("%lld\n", bsearch(1, N/2, N)); 

	return 0;
}
반응형

'프로그래밍 알고리즘' 카테고리의 다른 글

[정올 1264] 마법색종이  (0) 2023.01.03
[정올 1262] 긴 자리 곱셈  (0) 2023.01.03
[정올 1239] 비밀편지  (0) 2023.01.02
[정올 1214] 히스토그램  (1) 2022.12.31
[정올 1183] 동전자판기(하)  (0) 2022.12.31