package arith.icer;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
/**
* 巴斯卡三角形
* @author 志国
*
*/
public class Pascal extends JFrame {
private static final long serialVersionUID = 4076577551511821487L;
public Pascal()
{
this.setBackground(Color.WHITE);
this.setTitle("巴斯卡三角形");
this.setSize(560, 360);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new Pascal();
}
/**
* 计算数
* @param n
* @param r
* @return
*/
private long combi(int n, int r)
{
long num = 1;
for (int i = 1; i <= r; i++)
{
num = num * (n - i + 1) / i;
}
return num;
}
/**
* 绘图
*/
public void paint(Graphics graphics)
{
final int N = 12;
for (int i = 0; i <= N; i++)
{
for(int j = 0; j <= i; j++)
{
graphics.drawString(" " + combi(i, j),
(N - i) * 20 + j * 40 + 20,
i * 20 + 50);
}
}
}
}
运行结果: