Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

จำนวนขั้นตอนในการตรวจสอบความหารด้วย 7 ลงตัวใน JavaScript


ปัญหา

เราสามารถตรวจสอบว่าเลขหนึ่งหารด้วย 7 ลงตัวได้หรือไม่ โดยใช้หลักการ: ถ้าเลขอยู่ในรูปแบบ 10a + b และ a - 2b หารด้วย 7 ลงตัว

เราทำซ้ำกระบวนการนี้จนได้เลขที่รู้ว่าหารด้วย 7 ลงตัว สามารถหยุดได้เมื่อเลขเหลือสูงสุด 2 หลัก เพราะเราควรทราบว่าเลข 2 หลักหรือน้อยกว่านั้นหารด้วย 7 ลงตัวหรือไม่

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข และคืนค่าจำนวนขั้นตอนที่ใช้ในการลดเลขให้เหลือสูงสุด 2 หลัก และเลข 2 หลักนั้น

อินพุต

const num = 1603;

เอาต์พุต

const output = [7, 2];

เพราะขั้นตอนมีดังนี้:

160 - 2*3 = 154
15 - 2*8 = 7

และค่าสุดท้ายคือ 7

ตัวอย่าง

โค้ดตัวอย่างดังนี้:

const num = 1603;
const findSteps = (num) => {
  let times = 0;
  let result = 0;
  let number = String(num);
  while(number.length > 2){
    times++;
    let firstNumber = Number(number.slice(-1))
    const remaining = Number(number.slice(0, number.length - 1))
    result = remaining - 2 * firstNumber
    number = String(result)
  }
  return [result, times]
}
console.log(findSteps(num));

ผลลัพธ์

[7, 2]