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

1/n के दशमलव मान में आवर्त लंबाई खोजें C++ में

मान लीजिए हमारे पास एक संख्या n है। हमें 1/n के दशमलव मान में आवर्त की लंबाई खोजनी है। तो यदि n का मान 7 है, तो 1/7 = 0.142857142857... वह भाग जो बोल्ड अक्षरों में है वह दोहरा रहा है। तो यहां आवर्त की लंबाई 6 है।

एक संख्या n के लिए, आउटपुट में n अलग-अलग शेषफल हो सकते हैं, लेकिन आवर्त पहले शेषफल से शुरू नहीं हो सकता क्योंकि कुछ प्रारंभिक शेषफल गैर-दोहराव वाले होते हैं। तो हमें यह सुनिश्चित करना होगा कि आवर्त से एक शेषफल चुना जाए, (n+1)वें शेषफल से शुरू करें, और अगली घटना की तलाश शुरू करें। (n+1)वें शेषफल और अगली घटना के बीच की दूरी, आवर्त की लंबाई है।

उदाहरण

#include <iostream>
using namespace std;

int periodLength(int n) {
    int remainder = 1;
    int length = 0;
    for (int i = 1; i <= n + 1; i++)
        remainder = (10 * remainder) % n;
    int d = remainder;
    do {
        remainder = (10 * remainder) % n;
        length++;
    } while (remainder != d);
    return length;
}

int main() {
    int n = 7;
    cout << "Period length of 1/" << n << " is: " << periodLength(n) << endl;
}

आउटपुट

Period length of 1/7 is: 6

  1. C++ में लिंक्ड लिस्ट में लूप की लंबाई ढूंढें C++ में लिंक्ड लिस्ट में लूप की लंबाई ढूंढें

    इस समस्या में, हमें एक लिंक्ड लिस्ट दी गई है जिसमें लूप हो सकते हैं। हमारा कार्य लिंक्ड लिस्ट में लूप की लंबाई ढूंढना है। समस्या विवरण: हमें लूप में नोड्स की संख्या गिननी है यदि इसमें लूप है अन्यथा -1 वापस करें। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: linked-list : आउटपुट: 8 समाधान दृष्ट

  1. C++ में बाइनरी ट्री का बॉटम लेफ्ट मान C++ में बाइनरी ट्री का बॉटम लेफ्ट मान

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें ट्री की अंतिम पंक्ति (सबसे गहरे लेवल) का सबसे बायाँ मान ढूंढना है। उदाहरण: ट्री [3,5,1,6,2,0,8,null,null,7,4] के लिए अंतिम पंक्ति [7,4] है, इसलिए बॉटम लेफ्ट मान 7 है। DFS + गहराई ट्रैकिंग दो वेरिएबल्स ans और maxLevel (प्रारंभ में -1) रखें। रिकर्सिव sol

  1. - यूलर की संख्या e का मान निकालने का पायथन प्रोग्राम: e = 1 + 1/1! + 1/2! + ... 1/n!

    जब यूलर की संख्या को लागू करना हो, तो एक विधि परिभाषित की जाती है जो फैक्टोरियल की गणना करती है। एक अन्य विधि परिभाषित की जाती है जो इन फैक्टोरियल संख्याओं का योग निकालती है। उदाहरण def factorial_result(n): result = 1 for i in range(2, n + 1): result *= i return result def sum_