Editorial for C++ Bài 1.A2: Chuyển đổi tốc độ


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.

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 biến \(a\) dựa vào khoảng giá trị của đề bài đưa \((1 \leq a \leq 10^6)\). Đây là biến đại diện cho số có đơn vị \(km/h\).

Bước 2, các bạn dùng lệnh cin để nhập vào biến a vừa khai báo ở trên.

Bước 3, các bạn khởi tạo một biến (ví dụ tên biến là b), đây là biến đại diện cho số có đơn vị \(m/s\). Chú ý kiểu dữ liệu của biến vừa tạo dựa vào khoảng giá trị đề bài đưa. Gợi ý công thức chuyển đổi từ \(m/s\) sang \(km/h\): \(b (m/s) = \frac{a (km/h) \times 1000}{3600}\)

Bước 4, in ra kết quả 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. Ở đây, 1LL * b dùng để chuyển đổi giá trị của b thành kiểu dữ liệu long long để đảm bảo hiển thị đúng theo yêu cầu Output của đề bài. Nếu không có câu lệnh này, chương trình sẽ in ra theo kiểu dữ liệu long double.

#include <bits/stdc++.h>

using namespace std;

int main(){
    long double a, b;
    cin >> a;
    b = a * 1000 / 3600;
    cout << fixed << setprecision(2);
    cout << 1LL * b <<'\n';
    return 0;
}

Comments

There are no comments at the moment.