কম্পিউটার

পাইথনে N একটি ফ্যাক্টরিয়াল প্রাইম কিনা তা পরীক্ষা করুন


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

সুতরাং, যদি ইনপুটটি n =719 এর মত হয়, তাহলে আউটপুটটি 719 =720 - 1 =6 হিসাবে True হবে! - 1

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

  • যদি num একটি মৌলিক না হয়, তাহলে
    • মিথ্যে ফেরত দিন
  • ফ্যাক্টোরিয়াল :=1, i :=1
  • যখন ফ্যাক্টোরিয়াল <=num + 1, do
    • ফ্যাক্টোরিয়াল :=ফ্যাক্টোরিয়াল * i
    • যদি num + 1 ফ্যাক্টোরিয়ালের মতো হয় বা num - 1 ফ্যাক্টোরিয়ালের মতো হয়, তাহলে
      • সত্য ফেরান
    • i :=i + 1
  • মিথ্যে ফেরত দিন

উদাহরণ

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

from math import sqrt
def isPrime(num) :
   if num <= 1:
      return False
   if num <= 3 :
      return True
   if num % 2 == 0 or num % 3 == 0:
      return False
   for i in range(5, int(sqrt(num)) + 1, 6) :
      if num % i == 0 or num % (i + 2) == 0:
         return False
   return True
def solve(num) :
   if not isPrime(num) :
      return False
   factorial = 1
   i = 1
   while factorial <= num + 1:
      factorial *= i
      if num + 1 == factorial or num - 1 == factorial :
         return True
      i += 1
   return False
num = 719
print(solve(num))

ইনপুট

719

আউটপুট

True

  1. পাইথনে N একটি ডিহেড্রাল প্রাইম নম্বর কিনা তা পরীক্ষা করুন

  2. প্রাইম নম্বর চেক করতে পাইথন প্রোগ্রাম

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

  4. পাইথন ব্যবহার করে একটি সংখ্যা প্রাইম কিনা তা কীভাবে পরীক্ষা করবেন?