نسخة الكود كما يلي:
/*جافا
*المؤلف: نيلفنغ في Oschina.net
*الترخيص: GPLV2+
*الوقت: 2014/1/17
*
*إخراج الهرم الرقمي في وحدة التحكم:
* 1
* 1 2 1
* 1 2 4 2 1
* 1 2 4 8 4 2 1
* 1 2 4 8 16 8 4 2 1
*عيب إخراج وحدة التحكم هو أنه لا يمكن التركيز على الأرقام تمامًا ، ولا يمكن أن تكون مباشرة أو إلى اليسار.
*/
فئة عامة رقم pyramid {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
// عدد الصفوف
int الكتان = 5 ؛
// قاعدة
int basenumber = 2 ؛
// إنشاء الأرقام ، ويتم حفظ الأرقام في الصفيف {1،2،4،8 ، ... ، 2^n}
int [] الأرقام = New int [linenumber] ؛
الأرقام [0] = 1 ؛
لـ (int i = 1 ؛ i <linenumber ؛ i ++) {
الأرقام [i] = الأرقام [i-1] * basenument ؛
}
// احسب عدد الأحرف التي يشغلها كل رقم: الحد الأقصى لعدد الأرقام + 2
int columnspernumber =
string.valueof (الأرقام [linenumber-1]). الطول () + 2 ؛
// الإخراج ، تنسيق الإخراج كما يلي:
// كل مسافة بادئة = مساحات columnspernumber
// كل عرض رقم هو columnspernumber
// سيشكل هذا شكلًا يشبه الهرم
// المسافة البادئة المسافة البادئة المسافة البادئة المسافة البادئة
// المسافة البادئة بالأرقام الرقمية
// أرقام أرقام بادئة
// الأرقام الرقمية
لـ (int i = 0 ؛ i <linenumber ؛ i ++) {
// الإخراج المسافة البادئة
لـ (int j = 0 ؛ j <linenumber-i-1 ؛ j ++)
System.out.printf ("٪"+columnspernumber+"s" ، "") ؛
// رقم الإخراج
// الإخراج {1،2،4،8 ، ... ، 2^n}
لـ (int k = 0 ؛ k <i+1 ؛ k ++)
System.out.printf ("٪"+columnspernumber+"d" ، الأرقام [k]) ؛
// الإخراج {2^n-1 ، ... ، 8،4،2،1}
لـ (int m = 0 ؛ m <i ؛ m ++)
System.out.printf ("٪"+columnspernumber+"d" ، الأرقام [im-1]) ؛
//يفوز
System.out.println () ؛
}
}
}