यदि हमारे पास दो पूर्णांक A और B हैं, और B >= A, हमें B! / A! का अंतिम अंक निकालना है। जब A = 2 और B = 4 का मान है, तो परिणाम 2 है, 2! = 2 और 4! = 24, तो 24/2 = 12। अंतिम अंक 2 है।
जैसा कि हम जानते हैं कि फैक्टोरियल का अंतिम अंक सेट {0, 1, 2, 4, 6} में होगा, फिर इस समस्या को हल करने के लिए इन चरणों का पालन करें -
- हम A और B के बीच का अंतर ढूंढेंगे
- यदि अंतर >= 5 है, तो उत्तर 0 है
- अन्यथा, (A + 1) से B तक इटरेट करें। फिर उन्हें गुणा करें और स्टोर करें।
- गुणन का अंतिम अंक उत्तर होगा।
उदाहरण
#includeusing namespace std; int findLastDigit(long long int A, long long int B) { int x = 1; if (A == B) return 1; else if ((B - A) >= 5) return 0; else { for (long long int i = A + 1; i <= B; i++) x = (x * (i % 10)) % 10; return x % 10; } } int main() { cout << "Last digit is: " << findLastDigit(2, 4); }
आउटपुट
Last digit is: 2