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

C++ में Nवीं फाइबोनैचि संख्या का अंतिम अंक ढूंढना


इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य C++ में Nवीं फाइबोनैचि संख्या का अंतिम अंक ढूंढने के लिए एक प्रोग्राम बनाना है।

समस्या विवरण

हमें Nवीं फाइबोनैचि संख्या का अंतिम अंक (यानी LSB) ढूंढना है।

उदाहरण

इनपुट: N = 120 आउटपुट: 1

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

एक सरल समाधान Nवें पद को ढूंढने के लिए सीधे फाइबोनैचि सूत्र का उपयोग करना होगा। लेकिन यह विधि तब संभव नहीं होगी जब N एक बड़ी संख्या हो। इसे दूर करने के लिए, हम फाइबोनैचि श्रृंखला के गुण का उपयोग करेंगे कि अंतिम अंक 60 पदों के बाद खुद को दोहराता है। यानी 75वें पद का अंतिम अंक 135वें पद के समान है।

इसका मतलब है कि 60 तक काम करने से हमें सभी संभावित संयोजन मिल जाएंगे और किस पद का उपयोग करना है यह ढूंढने के लिए हम संख्या का 60 से मॉड ढूंढेंगे।

उदाहरण

#include <iostream> 
using namespace std; 

long int fibo(int N){ 
    long int a=0,b=1,c; 
    for(int i=2; i < N;i++) { 
        c=a+b; 
        a=b; 
        b=c; 
    } 
    return c; 
} 

int findLastDigitNterm(int N) { 
    N = N % 60; 
    return (fibo(N) % 10); 
} 

int main() { 
    int N = 683; 
    cout << "The last digit of " << N << "th Fibonacci term is " << findLastDigitNterm(N); 
    return 0; 
}

आउटपुट

The last digit of 683th Fibonacci term is 1

  1. - C++ प्रोग्राम: अंक d वाली संख्याएं ज्ञात करना

    मान लें हमारे पास एक अंक d है, और ऊपरी सीमा n है। हमें 0 से n की सीमा में वे सभी संख्याएं ज्ञात करनी हैं जिनमें d है। इसलिए यदि n = 20, और अंक 3 है, तो संख्याएं [3, 13] होंगी। इस समस्या को हल करने के लिए, हम प्रत्येक संख्या को स्ट्रिंग के रूप में लेंगे, फिर यदि अंक स्ट्रिंग में मौजूद है, तो संख्या

  1. - C++ प्रोग्राम: ग्राफ में आर्टिकुलेशन पॉइंट्स की संख्या खोजें

    ग्राफ में आर्टिकुलेशन पॉइंट्स (या कट वर्टेक्स) एक पॉइंट है यदि इसे हटाने पर (और इसके माध्यम से एज) ग्राफ डिस्कनेक्ट हो जाता है। एक डिस्कनेक्टेड अनडायरेक्टेड ग्राफ के लिए एक आर्टिकुलेशन पॉइंट एक वर्टेक्स है जिसे हटाने पर कनेक्टेड कंपोनेंट्स की संख्या बढ़ जाती है। एल्गोरिदम Begin    हम यहां

  1. - C++ प्रोग्राम: अधिकतम एज-डिस्जॉइंट पथ की संख्या ज्ञात करना

    यह दो वर्टेक्स के बीच सबसे छोटे सबसेट पथ या अधिकतम प्रवाह का अर्थ रखने वाले अधिकतम एज-डिस्जॉइंट पथ की संख्या ज्ञात करने के लिए एक C++ प्रोग्राम है। एल्गोरिदम: Begin    function bfs() returns true if there is path from source s to sink t in    the residual graph which indicates