इस समस्या में, हमें एक मान n दिया गया है। हमारा काम है दिए गए n के लिए (n^1 + n^2 + n^3 + n^4) mod 5 का मान ज्ञात करना ।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
Input : n= 5 Output : 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<<"For N = "<<n<<", the value of (n^1 + n^2 + n^3 + n^4)\%5 is "<<findMod5Val(n); return 0; }
आउटपुट
For N = 12, the value of (n^1 + n^2 + n^3 + n^4)%5 is 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<<"For N = "<<n<<", the value of (n^1 + n^2 + n^3 + n^4)\%5 is "<<findMod5Val(n); return 0; }
आउटपुट
For N = 65, the value of (n^1 + n^2 + n^3 + n^4)%5 is 4