Hỏi bài tập Pascal

S

sonk10

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Các bác hộ em bài này với ạ, em xin cảm ơn!
Làm tròn
Bờm có nhiệm vụ phải viết chương trình điều khiển rô bốt. Là người lập trình có tay nghề cao, nhưng Bờm cũng có lúc đãng trí và phạm những sai lầm ngớ ngẩn.
Khi đang viết module làm tròn số thì trên tivi phát chương trình truyền hình trực tiếp trận đấu bóng của đội mà Bờm yêu thích. Vừa xem bóng đá vừa lập trình, Bờm đã cài đặt không chính xác quy trình làm tròn số thực trong phạm vi từ 0 đến 1000. Module được viết theo giải thuật sau: chương trình xét chữ số cuối cùng, nếu nó lớn hơn 4 thì cộng 1 vào chữ số trước cuối cùng, nếu chữ số trước cuối cùng này là 9 thì thay nó bằng 0 và cộng 1 vào chữ số trước cuối cùng, sau đó xóa chữ số cuối cùng và cứ làm như thế chừng nào còn cần phải làm tròn. Chẳng hạn, nếu phải làm tròn số 4.6445 cho đến 1 chữ số sau ở phần thập phân, module đã viết cho kết quả như sau:

Khi hiệu chỉnh chương trình, Bờm phát hiện ngay ra lỗi, nhưng để đánh giá mức độ trầm trọng của lỗi, Bờm tự hỏi: không biết có bao nhiêu số có đúng chữ số ở phần thập phân theo giải thuật đã viết sẽ cho kết quả làm tròn đúng bằng số thực cho trước?
Dữ liệu (rounding.inp)
• Dòng : số nguyên
• Dòng 2: số thực với không quá chữ số ở phần thập phân.
Kết quả (rounding.out)
• Dòng số nguyên là số lượng số tìm được.
Ví dụ
m=2
k=1.1
Kết quả là 10
 
Top Bottom