العودة   منتديات طلاب الجامعة العربية المفتوحة > منتدى كليات الجامعة العربية المفتوحة > منتدى تقنية المعلومات والحاسوب > M255

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

قديم 29-11-2013, 12:24 AM   #1
eng\hadir eng\hadir غير متصل
طالب جديد

 











هام factorial in java


ليا سؤالين فى برنامج ال factorial

لما بعمل البرنامج كده ..المفروض الاوت بوت يطلع 120 لكن بيطلع معايا بالسالب

تانى استفسار: إيه الفرق لما ب return
n* (n-1) وبين n * fact(n-1)؟؟

int num=5;
int k= fact(num);
System.out.println("The factorial of number 5 is:"+k);

}
static int fact(int n){
if(n<=1){
return 1;
}
else{
return n* fact(n-1);
}
}
}
eng\hadir غير متصل   رد مع اقتباس
قديم 29-11-2013, 01:56 AM   #2
eng\hadir eng\hadir غير متصل
طالب جديد

 











افتراضي رد: factorial in java


??????????
eng\hadir غير متصل   رد مع اقتباس
قديم 29-11-2013, 10:58 AM   #3
Vanquisher Vanquisher غير متصل
طالب فعال
 
الصورة الرمزية Vanquisher
شرح رد: factorial in java


مرحبا

الكود بتاعك سليم ليس به أخطاء
جربته والناتج طلع 120

سأعيد صياغة الكود بشكل أوضح

كود PHP:
static int fact(int n){
    if(
n<=1){
        return 
1;
    }
    else{
        return 
fact(n-1);
    }

كود PHP:
public static void main(String[] args){
    
System.out.println("The factorial of 5 is: " fact(5));

الفرق بين
كود PHP:
return * (n-1); 
و
كود PHP:
return fact(n-1); 
أن في الأولى لن يكون هناك recursion
ستقوم الـ function بتنفيذ (n * (n-1 مرة واحدة فقط يعني (5 × 4) والأوت بوت سيكون 20
اذا فلا داعي للـ if statement الموجودة في البداية

أما عندما نكتب (return n * fact(n-1 فإن الـ function بتنادي نفسها في كل مرة
مع طرح 1 من n وضرب الناتج في n الأصلية والتحقق هل وصل ناتج الطرح إلى 1 أم لا

n * fact(5) = 5 × 4 × 3 × 2 × 1 = 120

n * fact(4) = 4 × 3 × 2 × 1 = 24

n * fact(3) = 3 × 2 × 1 = 6

n * fact(2) = 2 × 1 = 2

n * fact(1) = 1

Vanquisher غير متصل   رد مع اقتباس
إضافة رد

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

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

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

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

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


الساعة الآن 09:50 PM.


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