Computer Science/Algorithm Problem

백준] 4539 - 반올림(ACM-ICPC Regionals)

TwinParadox 2018. 7. 16. 22:08
728x90

시간 제한 : 1초

메모리 제한 : 128MB




입력

첫째 줄에 테스트 케이스의 개수 n이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 x가 주어진다. (0 ≤ x ≤ 99999999)




출력

각 테스트 케이스마다 입력으로 주어지는 정수를 문제 설명에 나온 것처럼 반올림한 결과를 출력한다.




소스코드

#include <iostream>
#include <math.h>
using namespace std;
int main(void)
{
	int n, x, result, itmp;
	double dtmp;
	cin >> n;
	while (n--)
	{
		cin >> x;
		for (itmp = 0; pow(10, itmp) < x; itmp++);
		result = x;
		for (int i = 1; i < itmp; i++)
		{
			dtmp = (double)x / pow(10, i);
			result = (int)(dtmp + 0.5);
			result = result*pow(10, i);
			x = result;
		}
		cout << result << '\n';
	}
}




Tip

double형을 int형으로 형변환하여 푸는 문제다.



728x90