Editorial for C Bài 6.C3: Tái chế


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.

Author: buitrunghieu

Lời giải chi tiết

Ý tưởng: Mỗi khi đốt hết nến ở một thời điểm nhất định, ta sẽ tính được bao nhiêu cây nến được tạo ra từ những cây nến qua sử dụng, và còn bao nhiêu cây nến dùng xong mà chưa đủ để tạo cây mới ta sẽ cộng dồn vào lần đốt hết nến tiếp theo. Cuối cùng số nến đã qua sử dụng phải nhỏ hơn số nến dùng xong cần có để tạo ra cái mới.

Các bước giải:

  • Bước 1: Khai báo và nhập vào 2 số nguyên \(n, m\). Sau đó khởi tạo biến count để đếm số giờ có thể thắp sáng bằng nến, đặt giá trị là 0; và biến tmp để lưu những cây nến qua sử dụng mà chưa đủ để tạo cây nến mới, đặt giá trị là 0.
  • Bước 2: Sử dụng vòng lặp while với điều kiện kết thúc là \(n \geq 0\). Theo đó, với mỗi vòng, ta cộng count thêm một giá trị bằng số nến hiện tại (là \(n\)). Sau đó ta tính được số nến được tạo ra từ cây nến cũ (lấy \(n = (n+\)tmp\() / m\)) và số nến cũ chưa thể tạo thành nến mới (tmp \(= (n+\)tmp\()\)% \(m\)).
  • Bước 3: Sau vòng lặp tức là hết nến để đốt. In ra màn hình giá trị cuối cùng của count.

Đăng ký khóa học: https://www.facebook.com/clblaptrinhfullhouse

SĐT liên hệ: 0372229686

Youtube: CLB Lập Trình Full House

Fullhouse dev đồng hành trên từng dòng code


Comments

There are no comments at the moment.