Tính tổng các chữ số của 1 số tự nhiên cho trước trong php

Thứ hai - 04/05/2015 19:26
Trong bài viết này, tôi sẽ chia sẻ bài toán sử dụng hàm để tính tổng các chữ số của một số tự nhiên cho trước trong lập trình php căn bản.
Đề bài:
Sử dụng hàm để tính tổng các chữ số của một số tự nhiên cho trước trong PHP.

Đáp án:
function sumDigit($number){
	$sum = 0;
	while($number > 0){
		$digit = $number % 10;
		$sum = $sum + $digit;
		$number = ($number - $digit) / 10;
	}
	return $sum;
}

$result = sumDigit(232);
echo $result
Các bạn hãy thử sao chép đoạn code trên và chạy thử để xem kết quả nhé.
Giải thích:
Ta sẽ dùng vòng lặp while để kiểm tra biến $number >0  hay không. Nếu False thì dùng vòng lặp, còn nếu True thì lấy $number chia lấy phần dư cho 10 để được số cuối cùng. Tổng lúc này sẽ bằng phần dư chia cho 10.
Tiếp theo,ta sẽ được biến $number mới bằng biến $number cũ trừ khi phần dư và chia cho 10.
Tiếp tục vòng lặp như trên với biến $number mới tới khi nào $number = 0 thì vòng lặp sẽ dừng lại và cộng tổng các phần dư lại ta sẽ có được kết quả.
Ví dụ:  Ta có 1 số tự nhiên là 232 = $number
Ban đầu, tổng = 0 và $number = 232, ta tiến hành kiểm tra $number >0 thì chia lấy cho 10 được dư 2, $number mới = (232 - 2) / 10 = 23
Tổng = $sum = $sum + $digit = 0 + 2 = 2
Tiếp theo, $number = 23 >0 vẫn lớn hơn ta tiếp tục vòng lặp, lúc này ta chia lấy dư tiếp cho 10 được dư 3 và $number mới = 2
Tổng = $sum = $sum + $digit = 2+3 = 5
Tiếp theo kiểm tra $number = 2 > 0 , ta lại tiếp tục vòng lặp chia lấy phần dư cho 10 thì được dư 2 và $number = 0
Tổng = 2+3+2 = 7
Lúc này, $number = 0 nên vòng lặp dừng lại.
Kết quả: Tổng các chữ số của số 232 là 7.
Các hãy hãy chạy thử đoạn code bên trên và xem kết quả nhé.
Nếu bạn có bất cứ góp ý nào, xin hãy comment bên dưới bài viết này. Xin cám ơn.
 
 Tags: tính tổng

Tổng số điểm của bài viết là: 5 trong 1 đánh giá

Xếp hạng: 5 - 1 phiếu bầu
Click để đánh giá bài viết

  Ý kiến bạn đọc

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây