এই নিবন্ধে, আমরা N দ্বারা বিভাজ্য পুনরাবৃত্ত এককের সংখ্যা খুঁজে বের করার বিষয়ে আলোচনা করব। পুনরাবৃত্ত এককগুলি শুধুমাত্র 1 এর পুনরাবৃত্তিমূলক সংখ্যা, ধরুন R(k) পুনরাবৃত্তিমূলক একক যেখানে k হল 1 এর দৈর্ঘ্য। যেমন R(4) =1111. সুতরাং আমাদের k এর ন্যূনতম সংখ্যা খুঁজে বের করতে হবে যার জন্য R(k) N দ্বারা বিভাজ্য, উদাহরণস্বরূপ −
Input : N = 13 Output : k = 6 Explanation : R(6) i.e 111111 is divisible by 13. Input : N = 31 Output : k = 15
সমাধান খোঁজার পদ্ধতি
আপনি 1 থেকে শুরু করে k-এর প্রতিটি মান পরীক্ষা করে এই সমস্যার কাছে যেতে পারেন যেখানে R(k) N দ্বারা বিভাজ্য। কিন্তু এই সমাধানের সাথে, আমরা R(k) এর কোনো মানের দ্বারা N বিভাজ্য কিনা তা খুঁজে পাব না। এটি প্রোগ্রামটিকে খুব জটিল করে তুলবে এবং হয়তো কাজও করবে না৷
এই প্রোগ্রামটির সমাধানের জন্য একটি দক্ষ পদ্ধতি হল,
- 10 এর সাথে N coprime কিনা তা পরীক্ষা করুন।
- যদি না হয়, তাহলে k-এর কোনো মানের জন্য R(k) N দ্বারা বিভাজ্য হবে না।
- যদি হ্যাঁ, তাহলে প্রতিটি পুনরাবৃত্তিমূলক একক R(1), R(2), R(3)... ইত্যাদির জন্য, R(i) এবং N-এর বিভাজনের অবশিষ্টাংশ গণনা করুন, তাহলে n হবে অবশিষ্ট সংখ্যা।
- R(i) এবং R(j) এর জন্য একই অবশিষ্ট মান খুঁজুন, যেখানে R(i) এবং R(j) দুটি পুনরাবৃত্ত একক যাতে R(i) - R(j) N দ্বারা বিভাজ্য হবে।
- a R(i) এবং R(j) এর পার্থক্য 10 এর কিছু ঘাত দ্বারা গুণিত একক পুনরাবৃত্তি হবে, কিন্তু 10 এবং N তুলনামূলকভাবে মৌলিক, তাই R(k) N দ্বারা বিভাজ্য হবে।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int main() { int N = 31; int k = 1; // checking if N is coprime with 10. if (N % 2 == 0 || N % 5 == 0){ k = 0; } else { int r = 1; int power = 1; // check until the remainder is divisible by N. while (r % N != 0) { k++; power = power * 10 % N; r = (r + power) % N; } } cout << "Value for k : "<< k; return 0; }
আউটপুট
Value for k : 15
উপসংহার
এই নিবন্ধে, আমরা R(k) এর জন্য k-এর মান খুঁজে নিয়ে আলোচনা করেছি, যেখানে R(k) হল প্রদত্ত N দ্বারা বিভাজ্য পুনরাবৃত্ত একক। আমরা k-এর মান খুঁজে বের করার জন্য একটি আশাবাদী উপায় নিয়ে আলোচনা করেছি। আমরা এই সমস্যা সমাধানের জন্য C++ কোড নিয়েও আলোচনা করেছি। আপনি এই কোডটি জাভা, সি, পাইথন, ইত্যাদির মতো অন্য যেকোনো ভাষায় লিখতে পারেন। আমরা আশা করি আপনার এই নিবন্ধটি সহায়ক হবে।