সমস্যা বিবরণ
একটি মান n দেওয়া হয়েছে। আমাদের কাজ হল (n¹ + n² + n³ + n⁴) mod 5 এর মান বের করা।
উদাহরণ
ইনপুট: n = 5 আউটপুট: 0 ব্যাখ্যা: (5 + 25 + 125 + 625) % 5 = 780 % 5 = 0
সমাধানের পদ্ধতি
পদ্ধতি ১: সরাসরি গণনা (O(1))
সিরিজের মান বের করে ৫ দিয়ে ভাগশেষ নেওয়া।
#include <iostream>
using namespace std;
int findMod5Val(int n) {
int val = n + n*n + n*n*n + n*n*n*n;
return val % 5;
}
পদ্ধতি ২: গাণিতিক সরলীকরণ (O(1))
ফর্মুলা: f(n) = n(n+1)(n²+1)। মডুলো ৫-এ এই ফলাফল বা ০ হয় বা ৪।
- যদি n % 5 == 1 হয়, তবে ফলাফল ৪।
- অন্যথায় ফলাফল ০।
#include <iostream>
using namespace std;
int findMod5Val(int n) {
if (n % 5 == 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