CodeGym /Java Blog /এলোমেলো /জাভাতে Math.pow() পদ্ধতি ব্যবহার করা
John Squirrels
লেভেল 41
San Francisco

জাভাতে Math.pow() পদ্ধতি ব্যবহার করা

এলোমেলো দলে প্রকাশিত
জাভা ভাষা গাণিতিক ফাংশন এবং অপারেশনের জন্য একটি ব্যাপক লাইব্রেরি দিয়ে সজ্জিত। এটিকে "গণিত" ক্লাস বলা হয় এবং এটি java.lang প্যাকেজে থাকে। ম্যাথ লাইব্রেরিতে মৌলিক সংখ্যাসূচক ক্রিয়াকলাপ, ত্রিকোণমিতি, সর্বনিম্ন-ম্যাক্স খুঁজে বের করা, এলোমেলো সংখ্যা তৈরি করা এবং লগারিদমিক ক্রিয়াকলাপগুলির পদ্ধতি অন্তর্ভুক্ত রয়েছে। আজকের টিউটোরিয়ালে, আমরা Math.pow() পদ্ধতির উপর আলোকপাত করব, যা একটি বেস এবং একটি সূচক ব্যবহার করে সংখ্যার শক্তি গণনা করতে ব্যবহৃত হয়। চল শুরু করি. 'a এর nম শক্তি' রাশিটিকে গাণিতিকভাবে একটি n হিসাবে লেখা যেতে পারে. আমরা নিম্নরূপ অভিব্যক্তির পদগুলিকে সংজ্ঞায়িত করতে পারি। a - বেস n - সূচক আসুন সূচকটি বিবেচনা করি। একটি গুণের ক্রিয়াকলাপের পুনরাবৃত্তির সংখ্যা হিসাবে আমরা এটি সনাক্ত করতে পারি। বেস হল সেই সংখ্যা যা নিজেই গুণিত হয়। জাভাতে Math.pow() পদ্ধতি ব্যবহার করা - 1এখন একটি সংখ্যার শক্তি গণনা করার জন্য একটি সহজ জাভা পদ্ধতি তৈরি করা যাক। অনুগ্রহ করে লক্ষ্য করুন যে নিম্নলিখিত উদাহরণে, আমরা powerFunction() পদ্ধতিতে দুটি আর্গুমেন্ট পাস করছি, যা যথাক্রমে বেস এবং সূচক।

public class Main {
 
   public static void main(String[] args) {
       int result = powerFunction(2, 5);
       System.out.println("2 raised to the power of 5 = " + result);
   }
 
   static int powerFunction(int base, int exponent) {
       int result = 1;
       for (int i = 0; i < exponent; i++) {
           result = base * result;
       }
       return result;
   }
}
যদি আমরা উপরের উদাহরণ কোডটি চালাই, তাহলে এটি 32 রিটার্ন করবে। আপনি হয়তো ভাবছেন কেন আমরা কেবল বেস^এক্সপোনেন্ট লিখতে পারি না। আমরা এটি করতে পারি না কারণ জাভাতে কোনো এক্সপোনেন্টিয়েশন অপারেটর নেই যা আমরা কোডের একটি লাইনে ব্যবহার করতে পারি। উপরের কোডটি বিবেচনা করে, এটি স্পষ্ট যে এই পদ্ধতিটি লেখার জন্য আমাদের বেশ কিছুটা সময় ব্যয় করতে হয়েছিল। অধিকন্তু, যদি আমরা উচ্চ ক্ষমতা গণনা করতে যাচ্ছি, তবে এই গণনাগুলি সম্পূর্ণ করতে পদ্ধতিটি যথেষ্ট সময় নেবে যেহেতু আমরা লুপগুলির জন্য ব্যবহার করছি। তা ছাড়াও, লুপগুলি আমাদেরকে ভগ্নাংশের সূচকের সাথে পাওয়ার গণনা করতে বাধা দেবে। এবং এই পদ্ধতিতে ভাল কম্পিউটেশনাল জটিলতা নেই, কারণ অপ্টিমাইজেশনের জন্য আরও জায়গা থাকায় খুব অনুকূল নয়। প্রোগ্রামাররা কীভাবে ঘন ঘন সূচক এবং অন্যান্য গাণিতিক ক্রিয়াকলাপ ব্যবহার করে তা বিবেচনা করে, আগের দিনে জাভার ডেভেলপাররা 'ম্যাথ' নামে একটি লাইব্রেরি তৈরি করেছিল, যা গাণিতিক ক্রিয়াকলাপ সহজতর করার জন্য নিবেদিত। অতএব, স্ক্র্যাচ থেকে পাওয়ার ফাংশন লেখার পরিবর্তে, আমরা জাভা ল্যাং প্যাকেজে অন্তর্ভুক্ত এই লাইব্রেরির সুবিধা নিতে পারি।

Math.pow পদ্ধতি কি এবং কিভাবে আমরা এটি ব্যবহার করব?

Math.pow ম্যাথ লাইব্রেরির পদ্ধতি হিসেবে java.lang প্যাকেজে পাওয়া যাবে। এটি সংখ্যার শক্তি গণনা করতে ব্যবহৃত হয়, পূর্ণসংখ্যা এবং দ্বিগুণ উভয়ই। এর সিনট্যাক্স বিবেচনা করা যাক.

public static double pow(double base, double exponent)
আমরা সিনট্যাক্সে দেখতে পাচ্ছি, java.lang.Math.pow() পদ্ধতি দুটি আর্গুমেন্ট নেয়। প্রথমটি ভিত্তি এবং দ্বিতীয়টি সূচক। এটি তার আউটপুট হিসাবে বেস এক্সপোনেন্ট প্রদান করবে । দেখা যাক কিভাবে আমরা এটাকে কল করতে পারি।

Math.pow ব্যবহার করে জাভাতে একটি পাওয়ারে একটি সংখ্যা উত্থাপন করা

Math.pow ব্যবহার করে 5 4 এর মান বের করা যাক ।

import java.lang.Math;
public class MyClass{
    public static void main(String []args){
       double answer = Math.pow(5, 4);
// java.lang.Math.pow() method
 
       System.out.println("5 raised to the power of 4 = " + answer);
    }    
}
আউটপুট হল 625.0। আপনি দেখতে পাচ্ছেন, এটি একটি দ্বিগুণ মান। আপনি যদি দশমিক বিন্দু দ্বারা বিরক্ত হন, তাহলে আমরা সহজেই সংখ্যাটিকে নিম্নরূপ একটি পূর্ণসংখ্যাতে কাস্ট করে এটি থেকে মুক্তি পেতে পারি। মনে রাখবেন আমরা মূল পদ্ধতির ভিতরে প্রথম লাইন পরিবর্তন করছি।

 int answer = (int) Math.pow(5, 4);
এখন ফলাফল হল 625। আসুন ভিত্তি এবং সূচক উভয়ের জন্য ভগ্নাংশ সংখ্যা ব্যবহার করি এবং একটি উত্তর পাওয়ার চেষ্টা করি। চলুন দেখি 1.25 4.5 এর মান কত ।

import java.lang.Math;
 
public class MyClass {
 
   public static void main(String[] args) {
       double answer = Math.pow(1.25, 4.5);
// java.lang.Math.pow() method
 
       System.out.println("1.25 raised to the power of 4.5 = " + answer);
   }
}
এটি 2.729575167846423 আউটপুট করবে। আপনি যদি একটি ক্যালকুলেটর ব্যবহার করেন, আপনি দেখতে পাবেন যে এটি একই উত্তর দেয়। পরবর্তী বিভাগে যাওয়ার আগে এর আরও একটি উদাহরণ দেওয়া যাক। আমরা একটি সংখ্যাকে নেতিবাচক শক্তিতে বাড়াব এবং ফলাফলের তুলনা করব। এই উদাহরণের জন্য, আমরা বেস হিসাবে 4 এবং সূচক হিসাবে -2 বাছাই করব।

import java.lang.Math;
 
public class MyClass{
 
     public static void main(String []args){
        double answer = Math.pow(4, -2);
// java.lang.Math.pow() method
 
        System.out.println(answer);
     }    
}
আমরা আউটপুট 0.0625 পাই।

দ্রুত উদাহরণ: কীভাবে আপনার উত্তরকে রাউন্ড করবেন

বলুন, আমাদের 1.25 4.5 এর মান বের করতে হবে । উত্তর হল 2.729575167846423। প্রায়শই ফলাফলটি বৃত্তাকার করা প্রয়োজন। আসুন চতুর্থ দশমিক স্থানের সঠিক উত্তর পেতে চেষ্টা করি। এটা কিভাবে করতে হবে? যদি আমাদের শুধুমাত্র প্রথম 4 দশমিক স্থানের প্রয়োজন হয়? আমরা এর জন্য java.lang.Math.round পদ্ধতি ব্যবহার করতে পারি। যাইহোক, যেহেতু Math.round মানটিকে নিকটতম পূর্ণসংখ্যাতে রাউন্ড করে, আমাদের এটিকে দশমিক স্থানের সংখ্যা দিয়ে গুণ করতে হবে এবং তারপর আবার বৃত্তাকার এবং ভাগ করতে হবে।

import java.lang.Math;
 
public class MyClass{
 
     public static void main(String []args){
        double answer = Math.pow(1.25, 4.5);
        answer = Math.round(answer*100.0)/100.0;
        
        System.out.println(answer);
     }
     
}
আউটপুট হল 2.73।

কিভাবে Math.pow সঠিকভাবে ব্যবহার করবেন

আমরা যখন java.lang.Math.pow পদ্ধতি ব্যবহার করি, তখন কয়েকটি বিষয় মাথায় রাখতে হয়।
  1. এক্সপোনেন্ট প্যারামিটার শূন্য হলে, আউটপুট হবে 1.0। কারণ যেকোনো সংখ্যার জন্য শূন্যের শক্তিকে এক হিসাবে সংজ্ঞায়িত করা হয়।
  2. এক্সপোনেন্ট প্যারামিটার এক হলে, আউটপুট হবে বেস প্যারামিটার। এর কারণ হল যেকোন সংখ্যাকে 1 এর ঘাতে বাড়ালে ফলাফল বেসের মতই হবে।
  3. যদি ভিত্তিটি ঋণাত্মক/ধনাত্মক শূন্য হয় এবং সূচক প্যারামিটারটি একটি ঋণাত্মক সংখ্যা হয়, তাহলে ফলাফলটি অসীম। (শূন্য এবং ক্ষুদ্রতম প্রতিনিধিত্বযোগ্য ঋণাত্মক অ-শূন্য সংখ্যার মধ্যে সংখ্যার বৃত্তাকার কারণে ঋণাত্মক শূন্য ঘটতে পারে)।
  4. এক্সপোনেন্ট প্যারামিটার NaN হলে, আউটপুটও NaN হবে।
আসুন একটি উদাহরণ বিবেচনা করা যাক যেখানে এই 3য় পরিস্থিতি ঘটতে পারে।

import java.lang.Math;
 
public class MyClass{
 
     public static void main(String []args){         
        double base = 5;
        double exponent = Double.NaN;
 
        double answer = Math.pow(base, exponent);
 
        System.out.println(answer);
     }     
}
এটি NaN আউটপুট করবে। সুতরাং, যদি আপনার কোডের ফলাফল NaN হয়, তাহলে সূচকটি NaN কিনা তা পরীক্ষা করা বুদ্ধিমানের কাজ হবে। যদি আপনি ভাবছেন যে NaN কী, এর অর্থ 'সংখ্যা নয়' এবং ইঙ্গিত করে যে মানটি সংজ্ঞায়িত করা হয়নি। আমরা বিশ্বাস করি যে আপনি এখন এগিয়ে যান এবং আপনার অ্যাপ্লিকেশনগুলিতে lang.Math.pow() ব্যবহার করতে প্রস্তুত।

উপসংহার

java.lang.Math.pow () পদ্ধতিটি সহজেই বিভিন্ন সংখ্যার শক্তি, পূর্ণসংখ্যা এবং ভগ্নাংশের মান উভয়ই খুঁজে পাওয়ার একটি দুর্দান্ত উপায়। আপনি নিজে লিখতে পারেন এমন একটি পদ্ধতির বিপরীতে, এটি অনেক সময়-সমালোচনামূলক অ্যাপ্লিকেশনের জন্য অত্যন্ত অপ্টিমাইজ করা এবং উপযুক্ত। যদিও এটি সমস্ত ফলাফলকে দ্বিগুণ হিসাবে আউটপুট করে, আমরা সর্বদা মানটিকে একটি পূর্ণসংখ্যাতে নিক্ষেপ করতে পারি যেমন আমরা উদাহরণে করেছি। তাছাড়া, আমাদের সুবিধার জন্য, java.lang.Math লাইব্রেরি ফলাফলকে পছন্দের দশমিক স্থানের সংখ্যায় রাউন্ড করার পদ্ধতি প্রদান করে।
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION