برنامج المصدر يكشف
خصائص مثلث يانغ هوي:
كل صف من الأرقام متماثل اليسار واليمين ، بدءًا من 1 يصبح تدريجياً أكبر ، ثم يصبح أصغر ، ويعود إلى 1.
عدد الأرقام في السطر n هو n.
مجموع الأرقام على الخط N هو 2^(N-1).
كل رقم يساوي مجموع الأرقام اليمنى واليسرى للخط السابق. يمكن استخدام هذه الخاصية لكتابة مثلث Yang Hui بأكمله.
الرقم الأول في السطر N هو 1 ، والرقم الثاني هو 1 × (N-1) ، والرقم الثالث هو 1 × (N-1) × (N-2) /2 ، والرقم الرابع هو
1 × (N-1) × (N-2) /2 × (N-3) /3 ... وهلم جرا.
مبدأ الخوارزمية 1:
استخدم صفيف ثنائي الأبعاد YH [] [] لتخزين بيانات مثلث Yang Hui. حجم الصفوف والأعمدة هو عدد الصفوف التي تحتاج إلى الإخراج (الصف هو 10 في هذا البرنامج).
استخدم الحلقة لـ For لجعل الرقم باستثناء الطبقة الخارجية (باستثناء الحافة السفلية لمثلث Yang Hui) في مثلث Yang Hui هو 1 ؛
استخدم العبارة yh [i] [j] = yh [i - 1] [j - 1] + yh [i - 1] [j] لجعل البيانات في العمود j من الصف j يساوي مجموع البيانات في العمود (J -1) من الصف الأيمن (I -1) والعمود (J) من الصف (I -1) ، أي أن كل رقم يساوي مجموعتي اليسار واليمين من الصف الأيمن السابق.
حزمة com.work ؛ الطبقة العامة yanghuisanjiao {public static void main (string [] args) {int [] [] a = new int [10] [10] ؛ لـ (int n = 0 ؛ n <10 ؛ n ++) {a [n] [0] = 1 ؛ a [n] [n] = 1 ؛ } لـ (int n = 2 ؛ n <10 ؛ n ++) {for (int j = 1 ؛ j <n ؛ j ++) {a [n] [j] = a [n -1] [j -1]+a [n -1] [j] ؛ }} لـ (int n = 0 ؛ n <10 ؛ n ++) {for (int k = 0 ؛ k <2 * (10 - n) - 1 ؛ k ++) {system.out.print ("") ؛ } لـ (int j = 0 ؛ j <= n ؛ j ++) {system.out.print (a [n]+"") ؛ } system.out.println () ؛ }}}الطريقة 2
حزمة com.face ؛ استيراد java.util.scanner ؛ الطبقة العامة yanghui {public static void main (string [] args) {printyftriangle () ؛ } <pre code_snippet_id = "2474965" snippet_file_name = "blog_20170708_2_9005712" name = "code"> <code> <span>/** * 1 لفهم التنفيذ التالي ، يجب عليك أولاً أن تفهم تلك القيمة الافتراضية للعناصر في int is is is in time ye you e you exhate you element to a comple to a medial to a conder the need to a new exer = العنصر الأصلي في هذا الموضع + قيمة الموضع السابق لهذا الموضع*/</span> </code> </pre> printyftriangle printyftriangle () إدخال الماسح الضوئي = الماسح الضوئي الجديد (System.in) ؛ خطوط int = input.nextint () ؛ // احصل على عدد خطوط الحلقة ؛ int [] a = new int [الخطوط + 1] ؛ // تخزين البيانات مؤقتًا ؛ الباحث السابق = 1 ؛ // الرقم الأول الافتراضي ؛ لـ (int i = 1 ؛ i <= lines ؛ i ++) {// i يستخدم للتحكم في عدد الخطوط ؛ لـ (int j = 1 ؛ j <= lines-i ؛ j ++) {// supage space ، سهل جدًا ؛ System.out.print ("") ؛ } لـ (int j = 1 ؛ j <= i ؛ j ++) {int current = a [j] ؛ // احصل على الرقم التالي أولاً ، a [j] = previp+current ؛ السابق = الحالي ؛ system.out.print (a [j] + "") ؛ } system.out.println () ؛ }}}الطريقة 3: التنفيذ المتكرر
حزمة com.face ؛ استيراد java.util.scanner ؛ الفئة العامة digui {static int fun (int n ، int k) {// n ، row ، k: column if (k == 1 || n == k) return 1 ؛ Else Return Fun (N-1 ، K-1)+Fun (N-1 ، K) ؛ } public static void main (string [] args) {int lines ؛ System.out.println ("الرجاء إدخال عدد الخطوط:") ؛ إدخال الماسح الضوئي = الماسح الضوئي الجديد (System.in) ؛ الخطوط = input.nextInt () ؛ لـ (int i = 1 ؛ i <= lines ؛ i ++) {for (int k = 1 ؛ k <lines-i+1 ؛ k ++) {system.out.print ("") ؛ } لـ (int j = 1 ؛ j <= i ؛ j ++) {system.out.print (fun (i ، j)+"") ؛ } system.out.println () ؛ }}}الرجاء إدخال عدد الخطوط:
6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
دعنا نشارك مثالًا آخر:
/*** طباعة مثلث yanghui (مثلث pascal) ، طباعة 10 خطوط**/الفئة العامة yanghuisanjiao {public static void main (string [] args) {int [] [] a = new int [11] [11] ؛ لـ (int i = 0 ؛ i <10 ؛ i ++) {a [i] [0] = 1 ؛ A [i] [i] = 1 ؛ } لـ (int i = 1 ؛ i <10 ؛ i ++) {for (int j = 1 ؛ j <i ؛ j ++) {a [i] [j] = a [i-1] [j-1]+a [i-1] [j] ؛ }} لـ (int i = 0 ؛ i <10 ؛ i ++) {for (int j = 0 ؛ j <10-i ؛ j ++) {system.out.print ("") ؛ } لـ (int k = 0 ؛ k <10 ؛ k ++) {if (a [i] [k]! = 0) {system.out.print (a [i] [k]+"") ؛ }} system.out.println () ؛ }}}نتيجة:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
لخص
ما سبق يدور حول أمثلة برمجة Java لتنفيذ رمز Pascal Triangle ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!