CÂU 2 – TÍNH TỔNG CÁC CHỮ SỐ VÀ SỐ LƯỢNG SỐ CHỮ SỐ CỦA N

Cho một số tự nhiên n (n≤101000). Tính tổng các chữ số của n và tính số lượng số chữ số của n (không dùng hàm len).

Ví dụ:

INPUTOUTPUTGIẢI THÍCH
1236= 1 + 2 + 3
3Có 3 chữ số là: 1,2 và 3

Code hướng dẫn giải:

# Tính tổng và đếm số.
# Khởi tạo số nguyên nhập vào từ bàn phím.
so=int(input("Nhập n: "))
# Khởi tạo biến đếm để đếm số lượng số nhập vào
dem=1
# Khởi tạo biến tổng để tính tổng các số hạng 
tong=0
# Khởi tạo số tạm để lưu số nhập vào cứ mỗi lần thực hiện phép chia thì tăng lên 1 đơn vị
# từ đây ta sẽ suy ra được mỗi lần chia thì số nhập vào có 1 chữ số.
sotam=so
# Khởi tạo biến lưu số để xuất ra số nhập vào ban đầu. Nếu không lưu biến số
# thì quá trình thực hiện các phép chia, số đó sẽ chia hết các lượt --> Số về 0.
luuso=so
# Điều kiện với số nhập vào là nguyên dương.
while so>0:
    # Thực hiện chia phần đơn vị cho 10 liên tiếp đến hết và 
    # Ví dụ: Có số 456, 456/10 được 45 dư 6 -> lấy 6, 45/10 được 4 dư 5, 4/10 được 0 dư 4.
    # và dùng biến tổng thực hiện cộng các số hàng đơn vị vào với nhau --> Tổng giá trị các số.
    # Nghĩa là cộng các giá trị dư (nằm ở hàng đơn vị) lại với nhau.
    tong+=so%10
    # Số chia cho 10 để lấy lại phần nguyên và chia tiếp lấy nguyên đến hết thì dừng.
    so//=10
    # Số tạm > 9 thì mới chia, 0< số <9 là số có 1 chữ số: dem = 1 khởi tạo từ đầu rồi.
while sotam>9:
    sotam/=10
    dem+=1
print("Số",luuso,"có",dem,"chữ số",end=' ') # end=' ' --> kéo kết quả dòng dưới lên cùng hàng.
print("và tổng là",tong)

You may also like...

0 0 đánh giá
Đánh giá bài viết
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Bạn hãy viết bình luận cho nội dung này !x