สมมติว่าเรามีตัวเลขห้าหลัก เราจะต้องหาผลรวมของตัวเลขของมัน ในการทำเช่นนี้เราจะนำตัวเลขจากขวาไปซ้าย แต่ละครั้งให้หารตัวเลขด้วย 10 และส่วนที่เหลือจะเป็นตัวเลขหลักสุดท้าย จากนั้นจึงอัปเดตตัวเลขตามผลหาร (เฉพาะส่วนจำนวนเต็มเท่านั้น) และสุดท้ายตัวเลขจะลดลงเหลือ 0 ในตอนท้าย โดยการสรุปตัวเลขเราจะได้ผลรวมสุดท้าย
ดังนั้น หากอินพุตเท่ากับ num =58612 ผลลัพธ์จะเป็น 22 เพราะ 5 + 8 + 6 + 1 + 2 =22
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- num :=58612
- ผลรวม :=0
- ในขณะที่ num ไม่เท่ากับ 0, do:
- sum :=sum + num mod 10
- num :=num / 10
- ผลตอบแทน
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <stdio.h>
int main(){
int num = 58612;
int sum = 0;
while(num != 0){
sum += num % 10;
num = num/10;
}
printf("Digit sum: %d", sum);
}
อินพุต
58612
ผลลัพธ์
Digit sum: 22