본문 바로가기
프로그래밍/CodeUp

CodeUp[Q_2010] : 루트 문제(?)

by 조원일 2020. 2. 9.
728x90

1. 문제

https://codeup.kr/problem.php?id=2010

 

루트 문제(?)

양의 정수 B와 N이 입력된다. ( 1 <= B <= 1,000,000 , 1 <= N <= 9 )

codeup.kr

[출처 : 코드업(https://codeup.kr/)]

이번 문제는 제곱 함수인 pow()를 이용하여 풀어줍니다.

 

 

2. 해답

#include <stdio.h>
#include <math.h>

int main() {
	int a, b, n;

	scanf("%d %d", &b, &n);

	for (int i = 1; i <= b; i++) {
		if (pow(i, n) >= b) {
			a = i; // i^n이 b보다 크면 for문을 빠져나오기
			break;
		}
	}
	a = (pow(a, n) - b) >= (b - pow(a - 1, n)) ? a - 1 : a; // 전대값중 작은것을 a에 입력
	printf("%d", a);

	return 0;
}