Pascal三角形

Pascal算法呢,很简单,因为有了推导公式nCr,而当我们刚刚接触一个事物时,面对要解决的问题,归纳分析得到规律,再通过编程,控制流程,对象,语言,方法,属性得到我们想要的结果。如果这次不是PAscal三角形,而是其他的呢?你会怎么解决?发现解决问题的能力真的很重要,特别是下次实习面试的时候要注意,以后要加强自己这方面的~因为如果我是面试官,我肯定会看中那些能很好的够解决一个新问题的面试者。

以下是---良葛格(我发现我有做数据分析的潜力。。。。基本上网上的实现都是这个版本,可他们不知道是谁写的,改天我重写下了,今天有点困咯)----的awt实现,之前曾经拜读过他的一本jsp,servlet的书,当然由于是同学的,稍微看了眼。

package common;



import java.awt.*;



import javax.swing.JFrame;



public class Pascal extends JFrame {



	/**

	 * @param args  2013.8.2

	 */

	    @SuppressWarnings("deprecation")

		public Pascal() { 

	        setBackground(Color.BLUE); 

	        setTitle("巴斯卡三角形"); 

	        setSize(520, 350); 

	        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

	        show(); 

	    } 



	    private long combi(int n, int r){ 

	        int i; 

	        long p = 1; 



	        for(i = 1; i <= r; i++) 

	            p = p * (n-i+1) / i; 

	  

	        return p;

	    } 



	    public void paint(Graphics g) { 

	        final int N = 12; 

	        int n, r, t; 



	        for(n = 0; n <= N; n++) { 

	            for(r = 0; r <= n; r++) 

	                g.drawString(" " + combi(n, r), 

	                    (N-n)*20 + r * 40, n * 20 + 50); 

	        } 

	   

	    }

	public static void main(String[] args) {

		// TODO Auto-generated method stub

      

		 Pascal frm = new Pascal(); 

		

	}



}

  程序很简单,当然java图形编程的API有些不熟悉,由于javaweb方面没有用到过~一点一点补咯。之后又闲着写了java打印各种形状的小程序,惭愧啊,这本是刚刚入门就该做的事情,现在来补,这里就不一一贴出代码来了,大牛不会看,小牛呢,木有,哈~~

 附上一篇文章,觉得写得蛮好的:为什么我反对纯算法面试题 ~by陈皓

     OK,最后一句话结束(我会告诉你这是copy的嘛):

    If you can't explain it simply, you don't understand it well enough.
                                                                                                             - Albert Einstein 

 

 

你可能感兴趣的:(pascal)