เกือบสามเหลี่ยมหน้าจั่ว
สามเหลี่ยมจำนวนเต็มเกือบเท่าหน้าจั่วเป็นสามเหลี่ยมที่ความยาวด้านทั้งหมดเป็นจำนวนเต็ม และทั้งสองข้างเกือบจะเท่ากัน โดยมีความแตกต่างกันโดยสิ้นเชิงของความยาว 1 หน่วย
ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลขที่ระบุขอบเขตของรูปสามเหลี่ยม
ฟังก์ชันของเราควรหาการวัดของสามเหลี่ยมหน้าจั่วที่เกือบเท่าที่มีเส้นรอบรูปใกล้ที่สุดกับเส้นรอบรูปอินพุต
ตัวอย่างเช่น ถ้าปริมณฑลที่ต้องการคือ 500
จากนั้นสามเหลี่ยมหน้าจั่วที่มีเส้นรอบวงใกล้ที่สุดจะเป็น − [105, 104, 181]
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const perimeter = 500;
const almostIsosceles = (perimeter = 0) => {
let a = perimeter;
for(; a > 0; a--){
for(let b = perimeter; b > 0; b--){
for(let c = perimeter; c > 0; c--){
if(a + b + c > perimeter || a !== b + 1 || (Math.pow(a, 3) - Math.pow(b, 3) !== Math.pow(c, 2))){
continue;
};
return [a, b, c];
};
};
};
return [];
};
console.log(almostIsosceles(perimeter)); ผลลัพธ์
[ 105, 104, 181 ]