[백준 21983] Basalt Breakdown (C#, C++) - soo:bak
작성일 :
문제 링크
설명
문제의 목표는 규칙적인 육각형의 면적이 주어졌을 때, 그 둘레를 계산하는 것입니다.
- 정육각형의 면적은 변의 길이를
s
라고 할 때, \(\frac{(3 \sqrt{3})}{2} \times s^2\)
위 식을 활용하여 주어진 면적 a
에 대하여 변의 길이 s
를 계산하고, 둘레 6s
를 계산하여 출력합니다.
Code
[ C# ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace Solution {
class Program {
static void Main(string[] args) {
double area = double.Parse(Console.ReadLine()!);
double sideLength = Math.Sqrt((2 * area) / (3 * Math.Sqrt(3)));
double perimeter = 6 * sideLength;
Console.WriteLine($"{perimeter:F6}");
}
}
}
[ C++ ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll area; cin >> area;
double sideLength = sqrt((2 * area) / (3 * sqrt(3)));
double perimeter = 6 * sideLength;
cout.flags(ios::fixed); cout.precision(6);
cout << perimeter << "\n";
return 0;
}