কম্পিউটার

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


সংখ্যার n সংখ্যা সহ একটি সংখ্যা x দেওয়া হলে, আমাদের কাজ হল প্রদত্ত নম্বরটির প্লাস পারফেক্ট নম্বর কিনা তা পরীক্ষা করা। সংখ্যাটি প্লাস পারফেক্ট নম্বর কিনা তা পরীক্ষা করার জন্য আমরা প্রতিটি অঙ্কের d (d^n) এর nম ঘাত খুঁজে পাই এবং তারপরে সমস্ত অঙ্কের যোগফল করি, যদি যোগফল n এর সমান হয় তবে সংখ্যাটি প্লাস পারফেক্ট নম্বর। প্লাস পারফেক্ট নম্বর যে কোনো সংখ্যার একটি আর্মস্ট্রং খোঁজার মতো।

নিচের উদাহরণের মত -

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

উদাহরণ

Input: 163
Output: Number is not a perfect_number
Explanation: 1^3 + 6^3 + 3^3 is not equal to 163
Input: 371
Output: Number is a perfect_number
Explanation: 3^3 + 7^3 +1^3 is equal to 371

নিচে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

  • প্রথম ধাপ হল প্রদত্ত ইনপুটে সংখ্যার সংখ্যা গণনা করা।
  • দ্বিতীয় ধাপ হল একটি সংখ্যাকে ইনপুটের সংখ্যার সংখ্যার সমান বার পাওয়ার করা।
  • তৃতীয় ধাপ হল সমস্ত সংখ্যা যোগ করা এবং তা সমান কি না তা পরীক্ষা করুন।

অ্যালগরিদম

Start
In function int power(int a, int b)
   Step 1-> Declare and initialize power as 1
   Step 2-> Loop While b>0
      Set power = power * a
      Decrement b by 1
   Step 3-> return power
End function power
In function int count(int n)
   Step 1-> Declare and Initialize i as 0
   Step 2-> Loop While n!=0
      Increment i by 1
      Set n = n/10
   End Loop
   Step 3-> Return i
In function int perfect_number(int n)
   Step 1-> Declare and initialize x as count(n)
   Step 2-> Declare and initialize rem as 0 and m as 0
   Step 3-> Loop While(n)
      Set rem as n %10
      Set m as m + power(rem, x)
      Set n as n/ 10
   End Loop
   Step 4-> Return m
End Function perfect_number
In Function int main(int argc, char const *argv[])
   Step 1-> Initialize n as 1634
   Step 2-> If n == perfect_number(n) then,
      Print "Number is a perfect_number "
   Step 3-> else
      Print "Number is not a perfect_number "
   End if
End main
Stop

উদাহরণ

#include <stdio.h>
int power(int a, int b) {
   int power =1;
   while(b>0) {
      power *= a;
      b--;
   }
   return power;
}
int count(int n) {
   int i=0;
   while(n!=0) {
      i++;
      n = n/10;
   }
   return i;
}
int perfect_number(int n) {
   int x = count(n);
   int rem = 0, m=0;
   while(n) {
      rem = n %10;
      m += power(rem, x);
      n /= 10;
   }
   return m;
}
int main(int argc, char const *argv[]) {
   int n = 1634;
   if(n == perfect_number(n)) {
      printf("Number is a perfect_number\n");
   }
   else
   printf("Number is not a perfect_number\n");
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Number is a perfect_number

  1. নম্বরটি প্রাইম কি না তা পরীক্ষা করার জন্য ব্যাশ প্রোগ্রাম

  2. একটি অ্যারে প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য সি প্রোগ্রাম

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

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