اذهب إلى المحتوى
  • 0

كيفية حساب الأس (القوى) في لغة جافا Java

Nod Gt

السؤال

Recommended Posts

  • 0

يمكنك تحقيق ذلك عن طريق إستخدام المكتبة math في لغة جافا وتحديداً الدالة pow

حيث تقوم الدالة math.pow بأخذ معطيان  a, b وتقوم بإرجاع ناتج رفع العددa للقوى b فمثلاً 

math.pow(5,2)

سيقوم برفع العدد 5 للقوى 2 مما يعطينا ناتج 25

ويمكن عمل برنامج بسيط من أجل  ذلك بالجافا عن طريق الشفرة البرمجية التالية 

public void main(){
    Scanner scan = new Scanner(System.in);
	int x = scan.nextInt();
    int y = scan.nextInt();
    System.out.println(math.pow(x,y));
	
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكننا فهم دالة حساب القوة وهي ضرب العدد بنفسه عدد من المرات، x قوة y هي جداء x*x*x*x* لعدد y من المرات.

يمكننا كتابة دالة عودية بهذه الطريقة:

public static int pow( int a, int n) {
    if ( n == 0 ) {
        return 1;
    }
    return a * pow(a,n-1);
}

سوف تتكرر عملية ضرب a بنفسها n مرة، وشرط التوقف هو n = 0

وبالاستفادة من الرياضيات، وخواص الأس

aⁿ as a^n/2 ⨯ a^n/2      


2^8 =     Prod = ( (a ^ 2) ^ 2) ^ 2

تجزئة القوة والتوزيع

    /** divide & Conquer دالة to لحساب a^n.
     * n عدد صحيح موجب */

    long power(int a, int n)
    {
        if(n==0)
            return 0;
        // إن كان الأساس 0 نعيد 0
        if(a == 0)
            return 0;
        if(n%2 == 0) 
            return power(a*a, b/2);     // القوة عدد زوجي
        else
            return a * power(a*a, b/2); // القوة عدد فردي
    }

هذا يختصر تعقيد الخوازرمية من (n)O إلى (n)log2 حيث في كل خطوة نحسب العودية لنصف قيمة الأس

a^2 =  a  *  a
a^3 = a * a * a

a^4 = a^2 * a^2


a^5 
	= a * a ^ 4 

	= a * a^2 * a^2

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...