কম্পিউটার

পাইথনে K দ্বারা বিভাজ্য ক্ষুদ্রতম পূর্ণসংখ্যা


ধরুন আমাদের একটি ধনাত্মক পূর্ণসংখ্যা K আছে, আমাদের ক্ষুদ্রতম ধনাত্মক পূর্ণসংখ্যা N খুঁজে বের করতে হবে যেমন N কে K দ্বারা বিভাজ্য, এবং N-তে শুধুমাত্র 1 সংখ্যা রয়েছে। আমাদের N-এর দৈর্ঘ্য খুঁজে বের করতে হবে। যদি এমন কোন N না থাকে, তাহলে ফিরুন - 1. সুতরাং ইনপুট যদি 3 এর মত হয়, তাহলে আউটপুট হবে 3। সবচেয়ে ছোট উত্তর হবে N =111।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি k জোড় হয়, বা k 5 দ্বারা বিভাজ্য হয়, তাহলে -1 ফেরত দিন
  • r :=0 এবং N =1 সেট করুন
  • আমি 1 থেকে K + 1
      এর মধ্যে
    • r :=(r * 10 + 1) mod k
    • যদি r =0 হয়, তাহলে i ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution(object):
   def smallestRepunitDivByK(self, K):
      if K%2==0 or K%5 ==0:
         return -1
      r = 0
      N=1
      for i in range(1,K+1):
         r = (r*10 + 1)%K
         if r == 0:
            return i
ob = Solution()
print(ob.smallestRepunitDivByK(11))

ইনপুট

11

আউটপুট

2

  1. পাইথনে একটি BST-তে Kth ক্ষুদ্রতম উপাদান

  2. পাইথনে পূর্ণসংখ্যার বাইনারি তালিকা

  3. X দ্বারা বিভাজ্য ক্ষুদ্রতম K সংখ্যার সংখ্যার জন্য পাইথন প্রোগ্রাম

  4. bin() পাইথনে