-
[백준/BOJ] 4539번 반올림 (C++)알고리즘 문제풀이/백준 2020. 12. 22. 21:22
4539번: 반올림
정수 x가 주어졌을 때, 10보다 크다면, 1의 자리에서 반올림하고, 결과가 100보다 크면, 10의 자리에서 반올림하고, 1000보다 크면, 100의 자리에서 반올림하고... 이와 같이 계속 반올림하는 프로그램
www.acmicpc.net
입력값의 최대가 99999999이므로, 그냥 직관적으로, 쌩구현으로 쉽게 구현할 수 있는 문제입니다.
#include <iostream> using namespace std; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int n; cin>>n; while(n--) { int num; cin>>num; if(num >= 10) { num = (num + 5) / 10 * 10; } if(num >= 100) { num = (num + 50) / 100 * 100; } if(num >= 1000) { num = (num + 500) / 1000 * 1000; } if(num >= 10000) { num = (num + 5000) / 10000 * 10000; } if(num >= 100000) { num = (num + 50000) / 100000 * 100000; } if(num >= 1000000) { num = (num + 500000) / 1000000 * 1000000; } if(num >= 10000000) { num = (num + 5000000) / 10000000 * 10000000; } cout<<num<<"\n"; } }
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 1520번 내리막 길 (C++) (0) 2020.12.23 [백준/BOJ] 15671번 오델로 (C++) (0) 2020.12.22 [백준/BOJ] 2293번 동전 1 (C++) (0) 2020.12.21 [백준/BOJ] 18353번 병사 배치하기 (C++) (0) 2020.12.21 [백준/BOJ] 11053번 가장 긴 증가하는 부분 수열 (C++) (0) 2020.12.21