সংখ্যার 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