ตัวเลขกลับหัว
ตัวเลขที่ยังคงเหมือนเดิมเมื่อหมุน 180 องศาจะเรียกว่าตัวเลขกลับหัว
ตัวอย่างเช่น 9116, 69
ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับช่วงอาร์เรย์ของตัวเลขสองตัว ฟังก์ชันของเราจะคืนค่าจำนวนกลับหัวกลับหางทั้งหมดที่อยู่ในช่วงที่ระบุ
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const range = [5, 125]; const flipNum = (number) => { const upsideDownDigits = [0, 1, -99, -99, -99, -99, 9, -99, 8, 6]; let reverseNumArr = String(number) .split('') .map(val => Number(val)) .reverse(); let flipDigitsNumArr = reverseNumArr.map(val => upsideDownDigits[val]); if (flipDigitsNumArr.includes(-99)) { return false; } let flipDigitsNum = Number( flipDigitsNumArr.reduce((accum, curr) => accum + String(curr)) ); return flipDigitsNum === number; }; const countUpsideDown = ([lowNum, highNum]) => { let uDNums = 0; for (let counter = lowNum; counter <= highNum; counter++) { uDNums += flipNum(counter) === true; } return uDNums; }; console.log(countUpsideDown(range));
ผลลัพธ์
7