สมมติว่าเรามีตัวเลขห้าหลัก เราจะต้องหาผลรวมของตัวเลขของมัน ในการทำเช่นนี้เราจะนำตัวเลขจากขวาไปซ้าย แต่ละครั้งให้หารตัวเลขด้วย 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