Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ का उपयोग करके श्रृंखला 14, 28, 20, 40,... का Nवां पद ज्ञात करना

समस्या विवरण

इस समस्या में, हमें एक पूर्णांक मान N दिया गया है। हमारा कार्य श्रृंखला का Nवां पद ज्ञात करना है:

14, 28, 20, 40, 32, 64, 56, 112...

उदाहरण

इनपुट

N = 6

आउटपुट

64

हल का दृष्टिकोण

श्रृंखला के Nवें पद को खोजने के लिए हमें श्रृंखला का सामान्य पद खोजने की आवश्यकता है। इसके लिए हमें श्रृंखला को ध्यान से देखना होगा। मैं श्रृंखला को हल करने के दो अलग-अलग तरीके देख सकता हूं।

विधि 1: दो अलग-अलग श्रृंखलाएं (सम और विषम स्थितियां)

श्रृंखला सम और विषम स्थितियों पर दो अलग-अलग श्रृंखलाओं का मिश्रण है।

विषम स्थितियों पर: 14, 20, 32, 56, ...

T₁ = 14
T₃ = 20 = T₁ + 6
T₅ = 32 = T₃ + 12
T₇ = 56 = T₅ + 24 = T₁ + 6 + 12 + 24 = T₁ + 6×(1 + 2 + 4)
Tₙ = T₁ + 6(2⁰ + 2¹ + 2² + ... + 2^((N/2) - 1))

सम स्थितियों पर: 28, 40, 64, 112...

T₂ = 28
T₄ = 40 = T₂ + 12
T₆ = 64 = T₄ + 24
T₈ = 112 = T₆ + 48 = T₂ + 12 + 24 + 48 = T₂ + 6×(2 + 4 + 8)
Tₙ = T₂ + 6(2¹ + 2² + ... + 2^((N/2) - 1))

श्रृंखला का Nवां पद है:

Tₙ = Tₛ + 6(Σ 2^((N/2)-1)), जहां मान s से N तक 2 से बढ़ते हैं।

सम मानों के लिए s = 2, विषम मानों के लिए s = 1।

विधि 2: पुनरावर्ती संबंध (सरल)

एक और तरीका, जिससे Nवां पद खोजा जा सकता है, वह यह तथ्य है कि वर्तमान पद या तो पिछले पद का दोगुना है या पिछले पद से 8 कम है, इस आधार पर कि यह सम/विषम है।

यदि N सम है: Tₙ = 2 × Tₙ₋₁
यदि N विषम है: Tₙ = Tₙ₋₁ - 8

इसलिए, हमें 2 से N तक लूप करना होगा, और सम/विषम की जांच करके Tᵢ खोजना होगा।

C++ कार्यान्वयन (विधि 2 - सरल)

#include <iostream> 
using namespace std; 

bool isEven(int N) {
    return (N % 2 == 0);
}

int findNthTermSeries(int n) {
    int termN = 14;
    for (int i = 2; i <= n; i++) {
        if (isEven(i))
            termN *= 2;
        else
            termN -= 8;
    }
    return termN;
}

int main() {
    int n = 15;
    cout << n << "वां श्रृंखला का पद है " << findNthTermSeries(n);
    return 0;
}

आउटपुट

15वां श्रृंखला का पद है 776

जटिलता विश्लेषण

  • समय जटिलता: O(N)
  • स्पेस जटिलता: O(1)

पैटर्न सारांश

पदमाननियम
114प्रारंभ
22814 × 2
32028 - 8
44020 × 2
53240 - 8
66432 × 2
  1. - दी गई श्रृंखला 0, 0, 2, 1, 4, 2, 6, 3, 8, 4... का nवां पद ज्ञात करें C++ में

    इस समस्या में, हमें एक पूर्णांक मान N दिया गया है। हमारा कार्य दी गई श्रृंखला का nवां पद ज्ञात करना है - 0, 0, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8, 18, 9, 20, 10… उदाहरण से समझते हैं: इनपुट - N = 6 आउटपुट - 2 समाधान दृष्टिकोण श्रृंखला के Nवें पद को ज्ञात करने के लिए, हमें श्रृंखला को

  1. - C++ का उपयोग करके पेल संख्या ज्ञात करना

    दिए गए समस्या में, हमें एक पूर्णांक n दिया गया है और हमें Pₙ ज्ञात करना है, यानी उस स्थिति में पेल संख्या। अब, जैसा कि हम जानते हैं, पेल संख्या एक श्रृंखला का हिस्सा है जो इस सूत्र द्वारा दी जाती है: Pₙ = 2*Pₙ₋₁ + Pₙ₋₂ पहली दो शुरुआती संख्याओं के साथ: P₀ = 0 और P₁ = 1 समाधान का दृष्टिकोण अब हम इस

  1. C++ का उपयोग करके Nवां सम-लंबाई पालिंड्रोम ढूंढें C++ का उपयोग करके Nवां सम-लंबाई पालिंड्रोम ढूंढें

    यदि आपने कभी C++ का उपयोग किया है, तो आपने पालिंड्रोम संख्याओं के बारे में अवश्य सुना होगा। इस गाइड में, हम उपयुक्त उदाहरणों के साथ Nवें सम-लंबाई पालिंड्रोम के बारे में सब कुछ समझाएंगे। पालिंड्रोम संख्याएं वे संख्याएं हैं जो उल्टा करने के बाद समान रहती हैं। न केवल संख्याएं बल्कि एक शब्द भी जिसकी वर्