الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]كيفية حساب الــ Factorial

بدأه طالبة علوم في 7 ديسمبر 2012 · 6 رد · 1,557 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

جزيتم خيراً على الموقع الأكثر من رائع ..

أنا طالبة حاسب تخصص علوم .. تعسرت علي حل مسئله في برنامج c++ بإستخدام Dev

اقتباس
** write, compile and run program that calculate factorial number

n! = n*(n-1)*(n-2)*(n-3)...3.2.1

حاولت أن أخرج الرن أكثر من مره ولم أجد ما سبب ..

فآأتمنى مساعدتي لحل هذه المشلكه ..

أتمنى لا تبخلو علي يامعشر المبرمجيين ولكم مني جزيل الشكككر وخالص الدعاء

فحفظ المولى ..

#2

يُمنع حل الواجبات المنزلية.

أين محاولتك للسؤال ؟

#3

هذا ليس بواجب منزلي بل تحضير لسؤال في محاضره قادمه أريد أن أحضره وأن أعرف لماذا يخرج لي أرور في محاولاتي ..

محاولتي لي سؤال

اقتباس
#include<iostream>

using namespace std;

int main()

{

int n,a=1,i;

cout<<"enter the number";

cin>>n;

i(n==0)

{

cout<<"the Factorialis:1";

}

else

{

for (i=n;i>=1;i--)

(

a=a*i;

}

}

cout<<"the Factorial is :"<<a;

system("PAUSE");

return 0 ;

}

تطبيق العملي في البرنامج

1354884362771.png

السبب :sad:

#4

تصحيح الكود :

#include<iostream>
#include<cstdlib>
using namespace std;

int main() {
    int n, a = 1, i;
    cout << "Enter the number : ";
    cin >> n;

    if (n == 0)
        cout << "The Factorialis is 1" << endl;
    else
        for (i = n; i >= 1; i--)
            a = a * i;
    cout << "The Factorial is : " << a << endl;
    system("PAUSE");
    return 0;
}

يُمكننا أيضا حل السؤال بالــ Recursion :

#include<iostream>
#include<cstdlib>
using namespace std;

long Factorial(int n) {
    if (n == 0) return 1;
    else return n * Factorial(n - 1);
}

int main() {
    int n;
    long fact;
    cout << "n = ";
    cin >> n;
    if (n < 0)
        cout << "Erreur! le nombre n doit être supérieur ou égal zéro : (n>=0)\n" << endl;
    else {
        fact = Factorial(n);
        cout << n << "! = " << fact << endl;
    }
    system("PAUSE");
    return 0;
}
1
#5

الأخت الكريمة

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

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف !

قواعد المشاركة

شاكرين لكم حُسن تعاونكم

تم تعديل هذه المشاركة بواسطة Sn@CkeR في 7 ديسمبر 2012 في 15:59

#6

السلام عليكم

أول رد لي

هاهو الحل

لحساب الفاكتوريل

#include <stdio.h>

#include <stdlib.h>

int main()

{

int a,b,c=1;

printf("DONNER UN NOMBRE\n");

scanf("%d",&a);

for(b=1;b<=a;b++){

c=c*b;

}

printf("FACTORIEL=%d",c);

return 0;

}

المرجو الدعاء معنا و مع سائر المسلمين و المسلمات

و موفقين

على فكرة يمكنك إدخال شروط تحديد ترميز الرقم أي أكبر من الصفر لكن نحن وضعنا لك الطريقة و أنت أكملي من عندك

و موفقة

الحل بلغة c

مثلها مثل ++c

وموفقة

1
#7

باعطيك المبدأ وان شاء الله تفهميه لاني استخدم لغة السي الى الان ما استخدمة السي ++ الى الان

هذا مثال

int Fact ( int n) {

if ( n == 1)

return 1; i

else

return (n * Fact ( n-1)); ii

}

مثلا n = 4

Fact(4) = ( 4 * Fact(3))

= ( 4 * (3 * Fact(2)))

= (4 * ( 3 * (2 * Fact(1))))

= (4 * (3 * ( 2 * 1)))

= (4 * (3 * (2)))

= (4 * (6))

= 24

بتبقى مثل هذه هذا توضيح بالصورة حتى تفهميه ..

factoial.png

1

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…