ভূমিকা
দুটি সংখ্যা A এবং B দেওয়া থাকলে, (A mod X) = B সমীকরণ সিদ্ধ করে এমন X এর সম্ভাব্য মানগুলো গণনা করতে হবে।
উদাহরণ
A=26, B=2 → X ∈ {3,4,6,8,12,24} → মোট ৬টি সমাধান
এলগরিদম
possibleWayCount(A, B) শুরু যদি A == B: অসংখ্য সমাধান (X > A) যদি A < B: ০ সমাধান অন্যথায়: N = A - B-এর ডিভাইজারগুলো বের করুন যা B-র চেয়ে বড় শেষ
C++ প্রোগ্রাম উদাহরণ
#include#include using namespace std; int findDivisors(int A, int B) { int N = A - B, count = 0; for (int i = 1; i*i <= N; i++) { if (N % i == 0) { if (i > B) count++; if (N/i != i && N/i > B) count++; } } return count; } int possibleWayCount(int A, int B) { if (A == B) return -1; // infinite if (A < B) return 0; return findDivisors(A, B); } int main() { int A = 26, B = 2; int sol = possibleWayCount(A, B); if (sol == -1) cout << "Infinite solutions"; else cout << "X can take " << sol << " values"; return 0; }
আউটপুট
X can take 6 values