Câu hỏi:

13/07/2024 11,466 Lưu

Tổng chữ số

Viết chương trình nhập vào số nguyên dương n và in ra tổng các chữ số trong biểu diễn thập phân của n.

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

Thuật toán có thể áp dụng cho bài này là “tách” từng chữ số của n, với mỗi chữ số được tách ra, ta cộng dồn vào một biến S. Cụ thể là:

- Khởi tạo S = 0.

- Lặp cho đến khi n còn chữ số.

- Lấy chữ số hàng đơn vị của n, gọi là d.

- Đặt S = S + d.

- Loại bỏ chữ số hàng đơn vị của n.

Một số vấn đề kĩ thuật cần làm rõ:

- Để lấy chữ số hàng đơn vị d của n ta có thể dùng phép tính d = n % 10.

- Để loại bỏ chữ số hàng đơn vị của n ta có thể gán n //= 10.

Tổng chữ số Viết chương trình nhập vào số nguyên dương n và in ra tổng  (ảnh 1)

Với quy tắc tính như vậy, điều kiện “n còn chữ số” có thể viết thành n == 0. Bởi khi n chỉ còn một chữ số thì phép gán n = n // 10 sẽ cho n == 0.

Tham khảo chương trình sau:

Tổng chữ số Viết chương trình nhập vào số nguyên dương n và in ra tổng  (ảnh 2)

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

 Bài này có thể có nhiều cách viết vòng lặp.

Cách 1: Sử dụng vòng lặp while: Khởi tạo x = 1 là số nguyên dương lẻ nhỏ nhất, cho đến khi xn ta in ra x sau đó tăng x lên 2 đơn vị. Tham khảo chương trình sau:

In ra các số lẻ Viết chương trình nhập vào số nguyên n và in ra các số nguyên dương (ảnh 1)

Cách 2: Sử dụng vòng lặp for: Dãy số lẻ cần in ra là 0 × 2 + 1, 1 × 2 + 1, 2 × 2 + 1, ..., k × 2+ 1, trong đó k là giá trị số nguyên lớn nhất thoả mãn: k × 2 + 1≤ n, tức là k=[n12] . Tham khảo chương trình sau:

In ra các số lẻ Viết chương trình nhập vào số nguyên n và in ra các số nguyên dương (ảnh 2)

Cách 3: Sử dụng vòng lặp for nhưng sửa lại khai báo range (..) để mỗi bước giá trị số in ra được tăng lên 2 đơn vị. Tham khảo chương trình sau:

In ra các số lẻ Viết chương trình nhập vào số nguyên n và in ra các số nguyên dương (ảnh 3)

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP