কম্পিউটার

আমরা পাইথনে লাফ দিয়ে n অবস্থানে পৌঁছাতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন 1 থেকে n পর্যন্ত একটি সংখ্যা রেখা আছে। প্রথমে আমরা 0 অবস্থানে আছি, 1 এ যেতে এক ধাপ লাফিয়ে, তারপর 3 অবস্থানে পৌঁছানোর জন্য দুই স্থান লাফিয়ে, তারপর 6-এ পৌঁছানোর জন্য তিনটি অবস্থানে লাফানো ইত্যাদি। এটি বজায় রেখে আমরা n অবস্থানে পৌঁছাতে পারি কিনা তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি n =21 এর মত হয়, তাহলে আউটপুট হবে True, কারণ 1+2+3+4+5+6 =21

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

  • j:=(1 + বর্গমূল (1+8*n)) / 2
  • যদি |j - j| এর int অংশ <=0, তারপর
    • সত্য ফেরান
  • অন্যথায় মিথ্যা ফেরত দিন

উদাহরণ

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

from math import sqrt
def solve(n):
   j=(1+sqrt(1+8*n))/2
   if abs(j-int(j))<=0:
      return True
   else:
      return False

n = 21
print(solve(n))

ইনপুট

21

আউটপুট

True

  1. রোবট পরীক্ষা করার প্রোগ্রাম টার্গেট পজিশনে পৌঁছাতে পারে বা পাইথনে না

  2. একটি স্ট্রিং পরীক্ষা করার প্রোগ্রাম প্যালিনড্রোম কি পাইথনে নয়

  3. একটি সংখ্যা প্রাইম কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম