अंकगणितीय प्रगति
अंकगणितीय प्रगति (AP) संख्याओं का एक ऐसा क्रम है कि किन्हीं दो क्रमागत संख्याओं का अंतर एक स्थिर मान (उर्फ सामान्य अंतर) होता है।
उदाहरण के लिए, 1, 2, 3, 4, 5, 6,… एक AP है, जिसका सामान्य अंतर 1 (2 -1) के बराबर है।
समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पूर्णांकों की एक सरणी लेता है, गिरफ्तारी, पहले और एकमात्र तर्क के रूप में।
हमारे फ़ंक्शन का कार्य आकार 3 की अंकगणितीय प्रगति की संख्या को वापस करना है जो उस सूची से संभव है। प्रत्येक प्रगति में, तत्वों के बीच अंतर समान होना चाहिए। हमें गारंटी है कि इनपुट सरणी को बढ़ते क्रम में क्रमबद्ध किया जाएगा। उदाहरण के लिए, यदि फ़ंक्शन में इनपुट है
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
इनपुट
const arr = [1, 2, 3, 5, 7, 9];
आउटपुट
const output = 5;
आउटपुट स्पष्टीकरण
क्योंकि वांछित एपी हैं -
[1, 2, 3], [1, 3, 5], [1, 5, 9], [3, 5, 7] and [5, 7, 9]
उदाहरण
निम्नलिखित कोड है -
const arr = [1, 2, 3, 5, 7, 9]; const countAP = (arr = []) => { let i, j, k; let { length: len } = arr; let count = 0; for (i = 0; i < len - 2; i++){ for (k = i + 2; k < len; k++){ let temp = arr[i] + arr[k]; let div = temp / 2; if ((div * 2) == temp){ for (j = i + 1; j < k; j++){ if (arr[j] == div){ count += 1; } } } } } return count; }; console.log(countAP(arr));
आउटपुट
5