Bài 116: Phân bổ ngân sách 50 30 20

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 30M
C# 256M
Go 256M
Java 256M
Kotlin 256M
PHP 256M
Python 3 256M
Ruby 256M
Rust 256M
Scratch 3 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
luyencode.net
Dạng bài
Ngôn ngữ cho phép
C , C# , C++ , Go , Java , Kotlin , Pascal , PHP , Python 3 , Ruby , Rust , Scratch 3

Bài 116

Quy tắc 50/30/20 là phương pháp quản lý tài chính cá nhân nổi tiếng, giúp bạn phân bổ thu nhập sau thuế thành 3 nhóm chi tiêu:

  • 50% - Nhu cầu thiết yếu (needs): nhà ở, thức ăn, đi lại, điện nước, bảo hiểm, ...
  • 30% - Mong muốn (wants): ăn ngoài, giải trí, du lịch, sở thích, mua sắm, ...
  • 20% - Tiết kiệm & Đầu tư (savings): quỹ dự phòng, đầu tư dài hạn, trả nợ sớm, ...

Cho thu nhập sau thuế hàng tháng là N (đơn vị: đồng, số nguyên dương).
Hãy tính số tiền phân bổ cho từng nhóm theo quy tắc 50/30/20.

Cách làm tròn:

Lấy phần nguyên khi chia (làm tròn xuống). Phần dư (nếu có) được cộng vào nhóm Tiết kiệm & Đầu tư.

Cụ thể:

  • Nhu cầu thiết yếu = ⌊N × 50 / 100⌋
  • Mong muốn = ⌊N × 30 / 100⌋
  • Tiết kiệm & Đầu tư = N - Nhu cầu thiết yếu - Mong muốn

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên T (1 ≤ T ≤ 105) là số lượng test case.
  • Mỗi dòng trong T dòng tiếp theo chứa một số nguyên N (1 ≤ N ≤ 1015) là thu nhập sau thuế hàng tháng.

Dữ liệu ra:

  • Với mỗi test case, in ra một dòng gồm 3 số nguyên cách nhau bởi dấu cách: số tiền nhu cầu thiết yếu, số tiền mong muốn, số tiền tiết kiệm & đầu tư.

Ví dụ:

Dữ liệu vào Dữ liệu ra
3
10000000
1000000
7
5000000 3000000 2000000
500000 300000 200000
3 2 2

Giới hạn:

  • 1 ≤ T ≤ 105
  • 1 ≤ N ≤ 1015
  • Độ dài code không quá 65536 ký tự.

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.