Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เรียกซ้ำรวมตัวเลขทั้งหมดของตัวเลข JavaScript


สมมติว่า เราต้องสร้างฟังก์ชันที่ใช้ตัวเลขและค้นหาผลรวมของตัวเลขซ้ำๆ จนกระทั่งผลรวมเป็นตัวเลขหนึ่งหลัก

ตัวอย่างเช่น −

findSum(12345) = 1+2+3+4+5 = 15 = 1+5 = 6

ดังนั้นผลลัพธ์ควรเป็น 6.

มาเขียนโค้ดสำหรับฟังก์ชันนี้ findSum() −

ตัวอย่าง

// using recursion
const findSum = (num) => {
   if(num < 10){
      return num;
   }
   const lastDigit = num % 10;
   const remainingNum = Math.floor(num / 10);
   return findSum(lastDigit + findSum(remainingNum));
}
console.log(findSum(2568));

เราตรวจสอบว่าตัวเลขน้อยกว่า 10 หรือไม่ มันถูกย่อให้เล็กสุดแล้วและเราควรส่งคืนและจากฟังก์ชัน มิฉะนั้น เราควรส่งคืนการเรียกไปยังฟังก์ชันที่เรียกซ้ำตัวเลขสุดท้ายจากตัวเลขที่เพิ่มเข้าไปจนกว่าจะน้อยกว่า 10

ผลลัพธ์

ดังนั้นผลลัพธ์ของรหัสนี้จะเป็น −

3