728x90

문제 설명

nn이 입력되면 kk를 빼서 제곱수를 만들 수 있는 kk를 구하고,

그 제곱수에 루트를 씌운 수(제곱근) tt를 구하여라.

이 때 k는 여러가지가 될 수 있는데 가장 작은 k를 출력한다.

 

입력

nn이 입력된다.(0<k<n<=2310<k<n<=231)

 

출력

kk tt를 출력한다. 이 때 kk는 여러가지가 될 수 있는데 가장 작은 kk를 출력한다.

 

입력 예시

34

 

출력 예시

9 5

 

도움말

3434에서 99를 빼면 2525이고, 2525의 제곱근은 55이다.

 

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	int n;
	cin >> n;
	for (int i = n; i >= 0; --i)
	{
		int a = sqrt(i);
		double b = sqrt(i);
		if (a == b)
		{
			cout << n - i << " " << a << endl;
			break;
		}
	}
	return 0;
}

 

sqrt 함수를 사용해 제곱근을 구해서 소수점이 없는 정수형일 경우 출력하고 for문을 빠져나갑니다.

728x90