কম্পিউটার

N প্রাকৃতিক সংখ্যা থেকে জোড়ার সংখ্যা বের করার প্রোগ্রাম যার সমষ্টির মানগুলি পাইথনে k দ্বারা বিভাজ্য


ধরুন আমাদের একটি সংখ্যা n এবং আরেকটি মান k আছে, বিবেচনা করুন আমাদের প্রথম N প্রাকৃতিক সংখ্যা সহ একটি অ্যারে A আছে, আমাদের A থেকে A[i] এবং A[j] উপাদানের মোট জোড়া সংখ্যা বের করতে হবে, যেমন i

সুতরাং, যদি ইনপুটটি n =10 k =4 এর মত হয়, তাহলে আউটপুট 10 হবে কারণ 10 টি জোড়া আছে যার যোগফল 4 দ্বারা বিভাজ্য। [(1,3), (1,7), (2,6) , (2,10), (3,5), (3,9), (4,8), (5,7), (6,10), (7,9)]

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

  • m :=(n / k), r :=n mod k
  • এর ফ্লোর
  • b :=একটি নতুন মানচিত্র
  • আমি 0 থেকে k - 1 রেঞ্জের জন্য, কর
    • b[i] :=m
  • m*k+1 থেকে n রেঞ্জের জন্য,
      করুন
    • j :=i mod k
    • b[j] :=b[j] + 1
  • c :=0
  • আমি 0 থেকে k রেঞ্জের জন্য, কর
    • i1 :=i
    • i2 :=(k - i) mod k
    • যদি i1 i2 এর মত হয়, তাহলে
      • c :=c + b[i] *(b[i]-1)
    • অন্যথায়,
      • c :=c + b[i1] *(b[i2])
  • c/2 এর রিটার্ন ফ্লোর

উদাহরণ

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

def সমাধান(n, k):m =n // k r =n % k b ={} রেঞ্জে i এর জন্য (k) :b[i] =m এর জন্য i রেঞ্জে (m*k+1, n +1) :j =i % k b[j] =b[j] + 1 c =0 i এর জন্য রেঞ্জ(k) :i1 =i i2 =(k - i) % k যদি i1 ==i2 :c =c + b[i] * (b[i]-1) অন্য :c =c + b[i1] * (b[i2]) ফেরত c//2n =10k =4print(solve(n, k)) 

ইনপুট

4, 27

আউটপুট

10

  1. পাইথনে প্রথম n প্রাকৃতিক সংখ্যার পারমুটেশন থেকে ম্যাজিক সেটের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে সাব-ট্রির নোড মানের সমষ্টি থেকে ন্যূনতম মান বের করার প্রোগ্রাম

  3. পাইথন প্রোগ্রামে একটি সংখ্যার জোড় গুণনীয়কের সমষ্টি খুঁজুন

  4. পাইথনে পুনরাবৃত্তি ব্যবহার করে প্রাকৃতিক সংখ্যার যোগফল কীভাবে খুঁজে পাওয়া যায়?