Editorial for C++ Bài 1.B3: Chu Vi Diện Tích Thể Tích
Submitting an official solution before solving the problem yourself is a bannable offence.
Lời giải chi tiết:
Đầu tiên, các bạn cần khai báo kiểu dữ liệu của bán kính \(r\) (ví dụ đặt tên biến là radius
) dựa vào khoảng giá trị của đề bài (\(1 \leq r \leq 10^{4}\)).
Bước 2, các bạn dùng lệnh cin
để nhập bán kính radius
vừa khai báo ở trên.
Bước 3, các bạn khởi tạo một biến tính chu vi hình tròn (ví dụ tên biến là circumference
), chú ý kiểu dữ liệu của biến vừa tạo dựa vào khoảng giá trị của kiểu dữ liệu của bán kính \(r\) , chu vi hình tròn có công thức tính là 2 * M_PI * radius
, trong đó M_PI
là một hằng số trong thư viện C++, có giá trị bằng số \(π\).
Bước 4, các bạn khởi tạo một biến tính diện tích hình tròn (ví dụ tên biến là area
), chú ý kiểu dữ liệu của biến vừa tạo dựa vào khoảng giá trị của kiểu dữ liệu của bán kính \(r\) , diện tích hình tròn có công thức tính là M_PI * radius * radius
, trong đó M_PI
là một hằng số trong thư viện C++, có giá trị bằng số \(π\).
Bước 5, các bạn khởi tạo một biến tính thể tích hình cầu (ví dụ tên biến là volume
), chú ý kiểu dữ liệu của biến vừa tạo dựa vào khoảng giá trị của kiểu dữ liệu của bán kính \(r\) , diện tích hình tròn có công thức tính là \(V = \frac{4}{3} \pi r^3\) , triển khai code C++ là (4.0/3.0) * M_PI * pow(radius, 3)
, trong đó M_PI
là một hằng số trong thư viện C++ có giá trị bằng số \(π\), hàm pow(x, y)
dùng để tính lũy thừa, với x
là cơ số và y
là số mũ.
Bước cuối cùng, in ra các dòng theo yêu cầu đề bài, sử dụng lệnh cout
để in ra, chú ý câu lệnh fixed << setprecision()
, trong dấu ()
là số chữ số lấy sau dấu phẩy.
#include <bits/stdc++.h>
using namespace std;
int main(){
long double radius;
cin >> radius;
double circumference = 2 * M_PI * radius; // Tính chu vi
double area = M_PI * radius * radius; // Tính diện tích
double volume = (4.0/3.0) * M_PI * pow(radius, 3); // Tính thể tích
cout << fixed << setprecision(6) << circumference << endl;
cout << fixed << setprecision(6) << area << endl;
cout << fixed << setprecision(6) << volume << endl;
return 0;
}
Comments