العودة   منتديات طلاب الجامعة العربية المفتوحة > منتدى كليات الجامعة العربية المفتوحة > منتدى تقنية المعلومات والحاسوب > M180=M211 > extra algorithms

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع

قديم 23-05-2014, 12:47 AM   #1
hossam_2530 hossam_2530 غير متصل
عضو شرف
 
الصورة الرمزية hossam_2530

 










افتراضي امثلة علي الريكرشن


السلام عليكم ورحمة الله وبركاتة

لو جالك السؤال دا

Write a recursive method pow that takes two arguments (first is an integer base and second is another integer exponent)
and returns the base raised to that exponent.
Example: pow(2, 4) returns 16

طبعا هتقول لي سؤال بسيط جدا واجابتة كالتالي

كود PHP:
public static int pow(int baseint exponent) {
    if (
exponent == 1) {
        
// base case: any number to 1 power is the number itself
        
return base;
    } else {
        
// recursive case:  x^y = x * x^(y-1)
        
return base pow(baseexponent 1);
    }

حد يقدر يقول عدد مرات الريكرشن في الميثود دي قد اية ؟؟
طيب هل ممكن نقلل عدد مرات الريكرشن لاقل من كدة ؟؟ وكيف؟؟

في انتظار تفاعلكم



التوقيع

اللهم إني توكلت عليك وسلمت امري إليك
لا ملجأ ولا منجا منك إلا إليك
hossam_2530 غير متصل   رد مع اقتباس
قديم 23-05-2014, 01:57 AM   #2
hossam_2530 hossam_2530 غير متصل
عضو شرف
 
الصورة الرمزية hossam_2530

 










افتراضي طباعة البيناري باستخدام الريكرشن


write a method that uses recursion to find the binary
representation of an integer


كود PHP:
public class Binary {

    public static 
void main(String[] args) {
        
printBinary(100);
        
System.out.println();
    }

    public static 
void printBinary(int x) {
        if (
== 1) {
            
// base case when x is 1 so reminder is 1 and this is the end of the function
            
System.out.print(x);
        } else {
            
// recursive part: go recursivly before print so that the print from down to top
            
printBinary(2);
            
System.out.print(2);
        }

    }

hossam_2530 غير متصل   رد مع اقتباس
قديم 23-05-2014, 02:10 AM   #3
hossam_2530 hossam_2530 غير متصل
عضو شرف
 
الصورة الرمزية hossam_2530

 










افتراضي رد: امثلة علي الريكرشن


Suppose you buy a budget-priced pocket PC and discover that the chip inside
can’t do multiplication, only addition. You program your way out of this
quandary by writing a recursive method, mult(), that performs multiplication
of x and y by adding x to itself y times. Its arguments are x and y and its return
value is the product of x and y.
Write such a method and a main() program to
call it. Does the addition take place when the method calls itself or when it
returns?

الكود :
كود PHP:
public class Mult {
    public static 
void main(String[] args) {
        
int res mult (58);
        
System.out.println(res);
    }
    
    public static 
int mult(int xint y) {
        if(
==1){
            return 
x;
        }
        else{
            return 
mult(xy-1);
        }
    }


hossam_2530 غير متصل   رد مع اقتباس
قديم 23-05-2014, 04:13 PM   #4
hossam_2530 hossam_2530 غير متصل
عضو شرف
 
الصورة الرمزية hossam_2530

 










افتراضي رد: امثلة علي الريكرشن


اقتباس:
المشاركة الأصلية كتبت بواسطة hossam_2530 مشاهدة المشاركة
السلام عليكم ورحمة الله وبركاتة

لو جالك السؤال دا

Write a recursive method pow that takes two arguments (first is an integer base and second is another integer exponent)
and returns the base raised to that exponent.
Example: pow(2, 4) returns 16

طبعا هتقول لي سؤال بسيط جدا واجابتة كالتالي

كود PHP:
public static int pow(int baseint exponent) {
    if (
exponent == 1) {
        
// base case: any number to 1 power is the number itself
        
return base;
    } else {
        
// recursive case:  x^y = x * x^(y-1)
        
return base pow(baseexponent 1);
    }

حد يقدر يقول عدد مرات الريكرشن في الميثود دي قد اية ؟؟
طيب هل ممكن نقلل عدد مرات الريكرشن لاقل من كدة ؟؟ وكيف؟؟

في انتظار تفاعلكم

طبعا لا احد يتفاعل
ولا حتي بيقول جزاك الله خيرا
عموما نبغي الاجر من الله

=================

المثال السابق O(n)
n = exponent

ممكن نخلي الميثود o(log n)

ولكن لنفهم اولا هذة الجزئية :

2 اس 6 تساوي 2 اس 2 اس 3 تساوي 4 اس 3
وهكذا

ممكن نستغل النقطة دي في الميثود بتاعتنا
كالتالي

كود PHP:
public static int pow(int baseint exponent) {
        if (
exponent == 1) {
            
// base case: any number to 1 power is the number itself
            
return base;
        } else if(
exponent %== 0) {
            
// recursive case 1:  x^y = (x^2)^(y/2)
            
return pow(base base exponent 2);
        }
        else{
            
// recursive case 2:  x^y = x * x^(y-1)
            
return base pow(baseexponent 1);
        }
    } 

التعديل الأخير تم بواسطة hossam_2530 ; 24-05-2014 الساعة 01:00 PM
hossam_2530 غير متصل   رد مع اقتباس
قديم 19-10-2015, 06:04 AM   #5
مصفوقة بملآس..~ مصفوقة بملآس..~ غير متصل
طالب جديد

 










افتراضي رد: امثلة علي الريكرشن


جزاك الله خير
مصفوقة بملآس..~ غير متصل   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 05:33 AM.


Powered by vBulletin® Version 3.8.1, Copyright ©2000 - 2023, Jelsoft Enterprises Ltd. TranZ By Almuhajir
جميع المواضيع والمشاركات تعبر عن وجهة نظر أصحابها
ولا تعبر باي شكل من الاشكال عن وجهة نظر منتديات AOUA
تصميم وتطوير : التكنولوجيا الماسية