Nod Gt نشر 27 سبتمبر 2021 أرسل تقرير نشر 27 سبتمبر 2021 كيفية عمل برنامج يستقبل عددين ويحسب القوى ( x أس y) 2 اقتباس
0 شرف الدين حفني نشر 27 سبتمبر 2021 أرسل تقرير نشر 27 سبتمبر 2021 يمكنك تحقيق ذلك عن طريق إستخدام المكتبة 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)); } 1 اقتباس
0 Wael Aljamal نشر 27 سبتمبر 2021 أرسل تقرير نشر 27 سبتمبر 2021 يمكننا فهم دالة حساب القوة وهي ضرب العدد بنفسه عدد من المرات، 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 1 اقتباس
السؤال
Nod Gt
كيفية عمل برنامج يستقبل عددين ويحسب القوى ( x أس y)
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.