यदि हमारे पास दो पूर्णांक A और B हैं, और B>=A, तो हमें B के अंतिम अंक की गणना करनी होगी! / ए! जब A =2 और B =4 का मान हो, तो परिणाम 2, 2 होता है! =2 और 4! =24, इसलिए 24/2 =12. अंतिम अंक 2 है।
जैसा कि हम जानते हैं कि फैक्टोरियल का अंतिम अंक सेट {0, 1, 2, 4, 6} में होगा, तो इस समस्या को हल करने के लिए इन चरणों का पालन करें -
- हम ए और बी के बीच अंतर पाएंगे
- यदि अंतर>=5 है, तो उत्तर 0 है
- अन्यथा, (A + 1) से B तक पुनरावृति करें। फिर उन्हें गुणा करें और संग्रहीत करें।
- गुणा का अंतिम अंक उत्तर होगा।
उदाहरण
#include<iostream>
using 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