เค-ไพรม์ นัมเบอร์
จำนวนธรรมชาติเรียกว่า k-prime หากมีตัวประกอบ k เฉพาะ นับด้วยการคูณ
ซึ่งหมายความว่าแม้ว่าตัวประกอบเฉพาะของ 4 คือ 2 แต่มันจะเป็นตัวเลข 2 ไพรม์เพราะ −
4 =2 * 2 และ 2s ทั้งสองจะถูกนับแยกกันโดยนับเป็น 2
ในทำนองเดียวกัน 8 คือ 3-prime เพราะ 8 =2 * 2 * 2 กำลังนับเป็น 3
ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลข k ระยะทางและช่วง
ฟังก์ชันของเราควรส่งคืนอาร์เรย์ของอาร์เรย์ที่มีตัวเลข k-prime ภายในช่วงระยะห่างระหว่างใครที่เท่ากับระยะทางที่ระบุทุกประการ
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const k = 2; const step = 2; const range = [0, 50]; const kPrimeSteps = (k = 1, step = 1, [start, end]) => { const res = []; let i = start; const findLen = (n = 1) => { let count = 0, i = 2; while (i * i <= n) { while (n % i === 0) { count++; n /= i; } i++; } if (n > 1) count++; return count; } while (i <= end - step) { if ((findLen(i) == k && findLen(i+step) == k)) res.push([i, i+step]); i++; } return res; }; console.log(kPrimeSteps(k, step, range));
ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล -
[ [ 4, 6 ], [ 33, 35 ] ]