المطلوب
أكتب برنامج يطلب من المستخدم إدخال عدد واحد, ثم يعرض له الـ Factorial لهذا العدد.
إرشادات
العدد الذي سيدخله المستخدم سنخزنه في المتغير N
.
جواب الـ Factorial سنخزنه في المتغير F
.
بما أن المتغير F
سيحتوي على ضرب جميع الأرقام, يجب إعطائه رقم 1 كقيمة أولية لأن الرقم 1 لا يؤثر في عملية الضرب.
كود الجافا
import java.util.Scanner; public class Factorial { public static void main (String[] args) { Scanner input = new Scanner(System.in); int N; int F = 1; System.out.print("Enter a number: "); N = input.nextInt(); for (int i=1; i <=N; i++) { F = F * i; } System.out.print(N+ "! = " +F+ "\n"); } }
شرح الكود
int N; int F = 1;
هنا قمنا بتجهيز المتغير N
لتخزين الرقم الذي سيدخله المستخدم, و المتغير F
لتخزين الـ Factorial.
System.out.print("Enter a number: "); N = input.nextInt();
هنا طلبنا من المستخدم إدخال عدد, ثم وضعناه في المتغير N
.
for (int i=1; i <=N; i++) { F = F * i; }
بعد إدخال العدد, سيقوم البرنامج بإنشاء حلقة من 1 إلى هذا العدد.
في كل دورة في هذه الحلقة, سيتم ضرب قيم العداد i
الحالية بقيمة المتغير F
, ثم تخزين الناتج في المتغير F
من جديد.
هكذا نكون حصلنا على جواب الـ Factorial للمتغير N
و وضعناه في المتغير F
.
System.out.print(N+ "! = " +F+ "\n");
في الأخير قمنا بعرض جواب الـ Factorial للمتغير N
المخزن في المتغير F
.