偶然在网上看到这样一张图片,深感与数学的奇妙,不知道这叫什么三角。闲来无事,用java实现了一下,难度不大。
以下为代码,没啥难度,由于打印时是首字母对齐,为了实现上述效果,用空格填充了一部分区域。
package ex;
public class Triangle {
private static int print(int n) {
int num = 1;
for (int i = 1; i < n; i++) {
if (i == 1) {
num = i;
} else {
num = num * 10 + i;
}
// 数字前依次加入相应数量的空格,便于并列显示
System.out.println(generateSpace(n - i) + num + " X " + 8 + " + "
+ i + " = " + sum(num, i));
}
return num;
}
// 创造一个空格字符串
private static String generateSpace(int m) {
String strSpace = "";
for (int i = 1; i < m; i++) {
strSpace += " ";
}
return strSpace;
}
private static int sum(int n, int m) {
return n * 8 + m;
}
public static void main(String[] args) {
print(10);
}
}