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

การบวกตัวเลขโดยใช้วิธีการมากกว่า 2 วิธี JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่เป็นตัวเลขและรวมตัวเลขซ้ำๆ จนกว่าจะแปลงเป็นตัวเลขหลักเดียว

เราจะแก้ปัญหานี้ด้วยสองวิธี -

วิธีที่ 1:การใช้ลูป

วิธีแก้ปัญหานี้ใช้ประโยชน์จาก while loops ในการบวกเลขซ้ำกันของตัวเลข

ตัวอย่าง

const num = 123456;
const addDigits = (num = 1) => {
   let sum = num;
   while(sum % 10 !== sum){
      let sum1 = 0;
      while(sum > 0){
         sum1 += sum % 10;
         sum = Math.floor(sum / 10);
      }
      sum = sum1;
   };
   return sum;
};
console.log(addDigits(num));

วิธีที่ 2:การใช้โซลูชันเวลาคงที่ (O(1) ความซับซ้อนของเวลา)

โซลูชันนี้ใช้สูตรความสอดคล้องของคณิตศาสตร์ และขอแนะนำให้ผู้อ่านศึกษาสูตรนี้เพื่อทำความเข้าใจโซลูชันนี้ให้ดียิ่งขึ้น

ตัวอย่าง

const num = 123456;
const addDigits = (num = 1) => {
   let predicate = (num - 1) % 9;
   return ++predicate;
};
console.log(addDigits(num));

ผลลัพธ์

และผลลัพธ์ในคอนโซลของทั้งสองวิธีจะเป็น −

3