سألني صغار سؤال مقابلة في جافا من قبل ، لكن الأسئلة لم تكن صعبة. تنفيذ مثلث يانغ هوى مع جافا. لقد استغرقت بعض الوقت لفرزها ووجدت أنها مثيرة للاهتمام للغاية ، لذلك أردت أن أشطبها ومشاركتها. قبل كتابة التعليمات البرمجية ، دعنا أولاً نوضح السؤالين التاليين.
ما هو مثلث يانغ هوى
مثلث Yang Hui هو ترتيب هندسي لمعاملات الحدين في مثلث. تم ذكره في "التفسير التفصيلي لخوارزمية تسع فصول" كتبه يانغ هوي ، عالم الرياضيات في سلالة الأغنية الجنوبية في بلدي في عام 1261. في أوروبا ، يطلق عليه مثلث باسكال ، كما هو موضح في الشكل.
مثلث يانغ هوي
قانون مثلث يانغ هوي هو المبدأ
1. كل رقم يساوي مجموع الرقمين فوقه.
2. كل صف من الأرقام متماثل اليسار واليمين ، ويصبح تدريجيا أكبر من 1.
3. الرقم في السطر n لديه شروط n.
4. مجموع أرقام خط N-TH هو 2N-1.
5. يمكن التعبير عن عدد M في الصف التاسع على أنه C (N-1 ، M-1) ، أي عدد مجموعات عناصر M-1 مأخوذة من العناصر المختلفة N-1.
6. رقم MTH في السطر N يساوي رقم N-M+1 ، وهو أحد خصائص الرقم المشترك.
7. كل رقم يساوي مجموع الأرقام اليمنى واليسرى للخط السابق. يمكن استخدام هذه الخاصية لكتابة مثلث Yang Hui بأكمله. أي أن الرقم I-TH في السطر N+1 يساوي مجموع الرقم I-1 والرقم I-TH في السطر N ، وهو أيضًا أحد خصائص الرقم المشترك. هذا هو ، c (n+1 ، i) = c (n ، i)+c (n ، i-1).
8. المعاملات في صيغة التوسع لـ (A+B) n تتوافق مع كل عنصر في خط (N+1) من مثلث Yang Hui بدوره.
9. قم بتوصيل الرقم الأول في السطر 2N+1 ، مع الرقم الثالث في السطر 2N+2 ، والرقم الخامس في السطر 2N+3 ، ومجموع هذه الأرقام هو رقم 4N+1 Fibonacci ؛ نقل الرقم الثاني في السطر 2N-1 (n> 1) ، مع الرقم الرابع في السطر 2N-2 ، والرقم السادس في السطر 2N-2 ... مجموع هذه الأرقام هو رقم 4N-2 Fibonacci.
10. رتب الأرقام في كل صف ويمكنك الحصول على N-1 من 11 (N هو عدد الصفوف) القوة: 1 = 11^0 ؛ 11 = 11^1 ؛ 121 = 11^2 ... عندما n> 5 ، لن يفي بهذا الخاصية. في هذا الوقت ، يجب وضع الرقم الأقصى "1" على الخط التاسع في الرقم الواحد ، ثم قم بمحاذاة الرقم الواحد من الرقم على اليسار إلى عشرة أرقام ...... ، وهكذا ، قم بملء المساحة الفارغة مع "0" ، ثم إضافة جميع الأرقام معًا ، والرقم الذي تم الحصول عليه هو بالضبط إلى قوة N-1 من 11. 1،10،45،120،210،252،210،120،45،10،1 ، والنتيجة هي 25937424601 = 1110.
بعد فهم هاتين النقطتين ، يصبح تفكيرنا واضحًا جدًا. هناك العديد من الطرق لتنفيذها ، وهنا أخطط لاستخدام صفيف ثنائي الأبعاد بالإضافة إلى مضاعفة للحلقة لتنفيذها.
الرمز التجريبي:
الطبقة العامة yanghui {public static void main (string [] args) {// إنشاء صفيف ثنائي الأبعاد int t [] = new int [10] [] ؛ // اجتياز الطبقة الأولى من الصفيف ثنائي الأبعاد لـ (int i = 0 ؛ i <t.length ؛ i ++) {// تهيئة حجم صفيف الطبقة الثانية t [i] = new int [i+1] ؛ . } آخر {// يتم حساب القيم الأخرى بواسطة الصيغة t [i] [j] = t [i-1] [j]+t [i-1] [j-1] ؛ } // exptract expray element system.out.print (t [i] [j]+"/t") ؛ } // break system.out.println () ؛ }}}نتائج الإخراج في وحدة التحكم هي كما يلي:
فقط عشرة صفوف من مثلث Yang Hui هي الناتج هنا. قم بتحسينه ويمكن تغييره إلى الحصول على عدد من الصفوف ديناميكيًا. يمكن أيضًا تحويله إلى مثلث إيجابي ، فقط أضف حلقة لحساب المساحة. يمكن للطلاب المهتمين تجربته. -من مبرمج جافا الثامن عشر
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.