কম্পিউটার

একটি সংখ্যার শক্তি গণনা করার জন্য C++ প্রোগ্রাম


একটি সংখ্যার শক্তি x^y হিসাবে গণনা করা যেতে পারে যেখানে x হল সংখ্যা এবং y হল এর শক্তি।

উদাহরণস্বরূপ।

Let’s say, x = 2 and y = 10
   x^y =1024
   Here, x^y is 2^10

একটি সংখ্যার শক্তি রিকার্সিভ এবং নন-রিকারসিভ প্রোগ্রাম ব্যবহার করে গণনা করা যেতে পারে। এই প্রতিটি নিম্নরূপ দেওয়া হয়.

নন-রিকারসিভ প্রোগ্রাম ব্যবহার করে একটি সংখ্যার শক্তি

একটি নন-রিকারসিভ প্রোগ্রাম ব্যবহার করে একটি সংখ্যার শক্তি খুঁজে বের করার প্রোগ্রামটি নিম্নরূপ দেওয়া হয়েছে -

উদাহরণ

#include<iostream>
using namespace std;
int power(int x, int y) {
   int i,power=1;
   if(y == 0)
   return 1;
   for(i=1;i<=y;i++)
   power=power*x;
   return power;
}
int main() {
   int x = 3;
   int y = 4;
   cout<<"x = "<<x<<endl;;
   cout<<"y = "<<y<<endl;
   cout<<"x^y = "<<power(x,y);
   return 0;
}
x = 3
y = 4
x^y = 81

উপরের প্রোগ্রামে, ফাংশন power() একটি সংখ্যার শক্তি গণনা করতে ব্যবহৃত হয়। এটি একটি নন-রিকারসিভ ফাংশন। ফাংশনে, একটি লুপ ব্যবহার করা হয় যা 1 থেকে y পর্যন্ত চলে। লুপের প্রতিটি পুনরাবৃত্তির জন্য, x শক্তি দিয়ে গুণ করা হয়।

সুতরাং, x নিজের সাথে y বার গুণিত হয় এবং ফলাফলটি শক্তিতে সংরক্ষিত হয়। এটি x^y শক্তিতে সঞ্চিত হওয়ার দিকে পরিচালিত করে। তারপর পাওয়ার প্রধান() ফাংশনে ফিরে আসে।

নিম্নলিখিত কোড স্নিপেট এটি প্রদর্শন করে −

int power(int x, int y) {
   int i, power = 1;
   if(y==0)
   return 1;
   for(i=1;i<=y;i++)
   power = power*x;
   return power;
}

main(), x, y এবং x^y এর মানগুলি প্রদর্শিত হয়। এটি নীচে দেওয়া কোড স্নিপেটে দেখানো হয়েছে −

cout<<"x = "<<x<<endl;;
cout<<"y = "<<y<<endl;
cout<<"x^y = "<<power(x,y);

পুনরাবৃত্ত প্রোগ্রাম ব্যবহার করে একটি সংখ্যার শক্তি

একটি পুনরাবৃত্ত প্রোগ্রাম ব্যবহার করে একটি সংখ্যার শক্তি খুঁজে বের করার প্রোগ্রামটি নিম্নরূপ দেওয়া হয়েছে।

উদাহরণ

#include<iostream>
using namespace std;
int power(int x, int y) {
   if (y == 0)
   return 1;
   else if (y%2 == 0)
   return power(x, y/2)*power(x, y/2);
   else
   return x*power(x, y/2)*power(x, y/2);
}
int main() {
   int x = 3;
   int y = 4;
   cout<<"x = "<<x<<endl;;
   cout<<"y = "<<y<<endl;
   cout<<"x^y = "<<power(x,y);
   return 0;
}

আউটপুট

x = 3
y = 4
x^y = 81

উপরের প্রোগ্রামে, power() একটি পুনরাবৃত্ত ফাংশন। যদি y-এর মান 0 হয়, তাহলে এটি 1 প্রদান করে। y জোড় হলে, এটি পুনরাবৃত্তিমূলকভাবে নিজেকে x এবং y/2 মান দিয়ে কল করে এবং পাওয়ার(x, y/2)*power(x, y/2) প্রদান করে। যদি y বিজোড় হয়, তাহলে এটি নিজেকে বারবার x এবং y/2 মান দিয়ে কল করে এবং x*power(x, y/2)*power(x, y/2) প্রদান করে। এটি নিম্নলিখিত কোড স্নিপেট দ্বারা প্রদর্শিত হয়৷

int power(int x, int y) {
   if (y == 0)
   return 1;
   else if (y%2 == 0)
   return power(x, y/2)*power(x, y/2);
   else
   return x*power(x, y/2)*power(x, y/2);
}
ফেরত দিন

main(), x, y এবং x^y এর মানগুলি প্রদর্শিত হয়। এটি নীচে দেওয়া কোড স্নিপেটে দেখানো হয়েছে৷

cout<<"x = "<<x<<endl;;
cout<<"y = "<<y<<endl;
cout<<"x^y = "<<power(x,y);

  1. আর্মস্ট্রং নম্বর চেক করতে C++ প্রোগ্রাম

  2. পুনরাবৃত্তি ব্যবহার করে একটি সংখ্যার ফ্যাক্টরিয়াল গণনা করার জন্য C++ প্রোগ্রাম

  3. C++ প্রোগ্রাম একটি নম্বর বিপরীত করতে

  4. জাভা প্রোগ্রামে একটি সংখ্যার শক্তি গণনা করুন