[문제] 백준 알고리즘 3053 (택시 기하학)
> https://www.acmicpc.net/problem/3053
R을 받아와서 유클리드 기하학과 택시 기하학의 원 넓이를 소수점 6자리까지 출력.
1. 유클리드 기하학 (모양 = 원) : πr^2 = PI * (R ** 2)
2. 택시 기하학 (모양 = 마름모) : 2r^2 = 2 * (R ** 2)
C++로 할 때, 선언을 float로 했다가 자릿수가 부족해서 틀렸고,
(R<=10000이면 R^2 <= 100000000 이라서) double로 바꿔서 맞았다.
Python은 그냥 최고.
[C++]
#include <iostream>
#define PI 3.14159265358979
using namespace std;
int main() {
double R;
cin >> R;
cout << fixed;
cout.precision(6);
cout << R * R * PI << endl;
cout << R * R * 2 << endl;
return 0;
}
[Python]
import math
R = int(input())
print("{:6f}".format(R**2 * math.pi))
print("{:6f}".format(R**2 * 2))
728x90
'백준 알고리즘(BOJ)' 카테고리의 다른 글
백준 알고리즘 1002 (터렛) - C++, Python (0) | 2019.10.16 |
---|---|
백준 알고리즘 2667 (단지번호붙이기) - C++, Python (0) | 2019.10.16 |
백준 알고리즘 2606 (바이러스) - C++, Python (0) | 2019.10.16 |
백준 알고리즘 1018 (체스판 다시 칠하기) - C++, Python (0) | 2019.10.16 |
백준 알고리즘 4153 (직각삼각형) - C++, Python (0) | 2019.10.16 |
댓글