Hướng dẫn giải của [Beginner Free Contest 11] MOD


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Hướng dẫn giải

Cho số nguyên ~N~ với ~|N| \le 1000000~. Cần in ra ba chữ số hàng trăm, hàng chục, hàng đơn vị của ~N~, kể cả khi số 0 đứng đầu.

Cách làm

Lấy giá trị tuyệt đối của ~N~ rồi tính ~r = |N| \bmod 1000~ để có ba chữ số cuối.

Sau đó tách ba chữ số: hàng trăm là ~r / 100~, hàng chục là ~(r / 10) \bmod 10~, hàng đơn vị là ~r \bmod 10~. In lần lượt ba chữ số này liền nhau, không có dấu cách.

Ví dụ: ~N = 12~ cho ~r = 12~, các chữ số là 0, 1, 2 nên in ra ~012~.

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    // Lấy giá trị tuyệt đối rồi lấy 3 chữ số cuối
    int r = abs(n) % 1000;
    int tram = r / 100;
    int chuc = (r / 10) % 10;
    int donvi = r % 10;
    // In ra đủ 3 chữ số, kể cả số 0 ở đầu
    cout << tram << chuc << donvi << "\n";
    return 0;
}

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.