কম্পিউটার

স্ট্রং নম্বর চেক করার জন্য সি প্রোগ্রাম


একটি সংখ্যা 'n' দিলে আমাদের পরীক্ষা করতে হবে যে প্রদত্ত নম্বরটি স্ট্রং নম্বর কিনা।

স্ট্রং সংখ্যা হল এমন একটি সংখ্যা যার সমস্ত অঙ্কের ফ্যাক্টোরিয়ালের যোগফল 'n' সংখ্যার সমান। ফ্যাক্টরিয়াল বোঝায় যখন আমরা সেই সংখ্যা সহ সেই সংখ্যার নীচে সমস্ত সংখ্যার গুণফল খুঁজে পাই এবং এটি দ্বারা চিহ্নিত করা হয়! (বিস্ময়বোধক চিহ্ন), উদাহরণস্বরূপ:4! =4x3x2x1 =24.

সুতরাং, একটি সংখ্যা খুঁজে বের করতে তার শক্তিশালী সংখ্যা কিনা, আমাদেরকে সংখ্যাটির প্রতিটি অঙ্ক বাছাই করতে হবে যেমন সংখ্যাটি 145 তারপর আমাদের 1, 4 এবং 5 বাছাই করতে হবে এখন আমরা প্রতিটি সংখ্যার ফ্যাক্টরিয়াল বের করব অর্থাৎ 1! =1, 4! =24, 5! =120।

এখন আমরা 1 + 24 + 120 যোগ করব তাই আমরা 145 পাব, এটি প্রদত্ত ইনপুটের মতোই, তাই আমরা বলতে পারি যে সংখ্যাটি শক্তিশালী সংখ্যা।

উদাহরণ

Input: n = 124
Output: No it is not a strong number
Explanation: 1! + 2! + 4! = 27 which is not equal to n i.e, 124
Input: n = 145
Output: Yes it is a strong number
Explanation: 1! + 4! + 5! = 145

সমস্যা সমাধানের জন্য নিচের পদ্ধতি ব্যবহার করা হয়েছে

আমরা করব -

  • একক স্থান থেকে শুরু করে প্রতিটি অঙ্ক নিন এবং এর ফ্যাক্টরিয়াল খুঁজুন।
  • আমরা প্রতিটি সংখ্যার ফ্যাক্টরিয়াল যোগ করব।
  • মূল সংখ্যার সাথে ফলাফলের তুলনা করুন, যদি তারা সমান হয়, তাহলে সংখ্যাটি শক্তিশালী সংখ্যা; অন্যথায় সংখ্যাটি শক্তিশালী সংখ্যা নয়।

অ্যালগরিদম

START
In Function int factorial(int r)
   Step1 -> Initialize int fact and set as 1
   Step2-> Loop while r>1
      Set fact as fact * r
      Decremnet r by 1
   End Loop
   Step 3-> Return fact
   End Function factorial
In Function int check(int n)
   Step 1-> Initialize int temp, rem and result, set result as 0
   Step 2-> Set temp as n
   Step 3-> Loop while temp
      Set rem as temp % 10
      Set result as result + factorial(rem)
      Set temp as temp/10
   End loop
   Step 4-> If result == n then,
      Return 1
   Step 5-> Else
   Return 0
   End function check
In main(int argc, char const *argv[])
   Step 1-> Initialise and set n as 145
   Step 2->If check(n) is valid then,
      Print "Yes it is a strong number”
   Step 3-> Else
      Print "no it is not a strong number”
STOP

উদাহরণ

#include <stdio.h>
int factorial(int r) {
   int fact = 1;
   while(r>1) {
      fact = fact * r;
      r--;
   }
   return fact;
}
int check(int n) {
   int temp, rem, result = 0;
   temp = n;
   while(temp) {
      rem = temp % 10;
      result = result + factorial(rem);
      temp = temp/10;
   }
   if (result == n)
      return 1;
   else
      return 0;
}
int main(int argc, char const *argv[]) {
   int n = 145;
   if (check(n))
      printf("Yes it is a strong number\n");
   else
      printf("no it is not a strong number\n");
   return 0;
}

উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Yes it is a strong number

  1. একটি সংখ্যার কোনো সংখ্যা দ্বারা বিভাজ্য কিনা তা পরীক্ষা করার জন্য সি প্রোগ্রাম

  2. প্লাস পারফেক্ট নম্বর চেক করতে সি প্রোগ্রাম

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

  4. আর্মস্ট্রং নম্বর চেক করতে পাইথন প্রোগ্রাম