इस समस्या में, हमें एक मान n दिया गया है। हमारा कार्य दिए गए n के लिए (n^1 + n^2 + n^3 + n^4) mod 5 का मान ज्ञात करना है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट : n= 5 आउटपुट : 0
व्याख्या −
(51 + 52 + 53 + 54) mod 5 = (5 + 25 + 125 + 625) mod 5 = (780) mode 5 = 0
समाधान दृष्टिकोण
समस्या का एक सरल समाधान दिए गए N के मान के लिए समीकरण का मान सीधे ज्ञात करना और फिर उसका 5 के साथ मॉड्यूलस परिकलित करना है।
उदाहरण
हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम
#include <iostream> using namespace std; int findMod5Val(int n){ int val = (n + (n*n) + (n*n*n) + (n*n*n*n)); return val%5; } int main(){ int n = 12; cout<<"N = "<<n<<" के लिए, (n^1 + n^2 + n^3 + n^4)%5 का मान है "<<findMod5Val(n); return 0; } आउटपुट
N = 12 के लिए, (n^1 + n^2 + n^3 + n^4)%5 का मान है 0
समस्या का एक और समाधान फ़ंक्शन के गणितीय सूत्रीकरण और सामान्यीकरण का उपयोग करना है।
$\mathrm{f(n) = (n + n^2 + n^3 + n^4)}$
$\mathrm{f(n) = n*(1 + n + n^2 + n^3)}$
$\mathrm{f(n) = n*(1*(1+n)+n^{2}*(1+n))}$
$\mathrm{f(n) = n*((1+n^2)*(1+n))}$
$\mathrm{f(n) = n*(n+1)*(n^2+1)}$
इस समीकरण के लिए हम यह निकाल सकते हैं कि f(n) % 5 का मान n के मान के आधार पर या तो 0 या 4 हो सकता है।
if(n%5 == 1), f(n)%5 = 4 Else, f(n)%5 = 0
उदाहरण
हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम
#include <iostream> using namespace std; int findMod5Val(int n){ if(n % 4 == 1) return 4; return 0; } int main(){ int n = 65; cout<<"N = "<<n<<" के लिए, (n^1 + n^2 + n^3 + n^4)%5 का मान है "<<findMod5Val(n); return 0; } आउटपुट
N = 65 के लिए, (n^1 + n^2 + n^3 + n^4)%5 का मान है 4