반응형
https://www.acmicpc.net/problem/2052
부동소수점을 표현하는 방식에서 지나치게 0의 개수가 많아지면 e-13의 식으로 exponential form(scientific notation) 등을 사용해 출력하게 됩니다. 이를 제거하고 출력하는 문제였습니다
📕 풀이방법
📔 입력 및 초기화
2로 나누는 횟수 n, 정답을 출력할 변수 ans를 선언해주고 n에 입력해줍니다.
📔 풀이과정
pow함수를 사용하려면 pow(밑, 지수)식으로 2개의 인자로 넘겨줘야 합니다. 1/2^n형태이므로 pow(0.5, n)이 됩니다.
📔 정답출력
%.*f형태로 출력하게 되면 exponential form을 사용하지 않도록 할 수 있습니다.
printf("%.*f, 자릿수, 적용하고 싶은 결과값) 의 형태로 적절히 인자를 넘겨주도록 합시다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int n;
double ans;
int main(){
cin >> n;
ans = pow(0.5,n);
printf("%.*f",n,ans);
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 2547 : 사탕 선생 고창영 (0) | 2021.11.25 |
---|---|
(Python) - 백준(BOJ) 2061 : 좋은 암호 (0) | 2021.11.24 |
(Go) - 백준(BOJ) 2557 : Hello World (0) | 2021.11.19 |
(C++) - 백준(BOJ) 23375 : Arm Coordination (0) | 2021.11.19 |
(C++) - 백준(BOJ) 1598 : 꼬리를 무는 숫자 나열 (0) | 2021.11.18 |