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三角形的更多相关文章
- LeetCode Pascal's Triangle Pascal三角形
题意:给一个数字,返回一个二维数组,包含一个三角形. 思路:n=0.1.2都是特例,特别处理.3行以上的的头尾都是1,其他都是依靠上一行的两个数.具体了解Pascal三角形原理. class Solu ...
- LeetCode算法题-Pascal's Triangle II(Java实现)
这是悦乐书的第171次更新,第173篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第30题(顺位题号是119).给定非负索引k,其中k≤33,返回Pascal三角形的第k ...
- LeetCode算法题-Pascal's Triangle(Java实现)
这是悦乐书的第170次更新,第172篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第29题(顺位题号是118).给定非负整数numRows,生成Pascal三角形的第一个 ...
- Pascal's Triangle I,II
题目来自于Leetcode https://leetcode.com/problems/pascals-triangle/ Given numRows, generate the first numR ...
- leetcode 119
119. Pascal's Triangle II Given an index k, return the kth row of the Pascal's triangle. For example ...
- leetcode 118
118. Pascal's Triangle Given numRows, generate the first numRows of Pascal's triangle. For example, ...
- sicp第1章
牛顿迭代法求平方: (define (sqrt-iter guess x) (if (good-enough? guess x) guess (sqrt-iter (improve guess x) ...
- 第二类Stirling数
第二类斯特林数 第二类Stirling数:S2(p, k) 1.组合意义:第二类Stirling数计数的是把p个互异元素划分为k个非空集合的方法数 2.递推公式: S2(0, 0) = 1 S2(p, ...
- 算法笔记_039:杨辉三角形(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. ...
随机推荐
- Java 学习笔记(121208)
Java 修饰符 访问修饰符 修饰符 当前类 同一包内 子孙类 其他包 public Y Y Y Y protected Y Y Y N default Y Y N N private Y N N N ...
- 3个IO口8个按键
- dubbo常见报错
1. java.io.IOException: Can not lock the registry cache file C:\Users\Administrator\.dubbo\dubbo-reg ...
- 201621123003《Java程序设计》第一周学习总结
#1. 本周学习总结 本周主要学习了Java的jdk.jvm.jre等基本概念,Java的发展史,知道Java语言的跨平台.面向对象等主要特点,简单了解了Java程序的编译和运行过程.对于学习Java ...
- Linux下安装SVN(Subversion)
一.安装直接运行命令用YUM安装: yum install subversion -y 二.创建版本库创建版本库用svnadmin create命令,大概语法是svnadmin create svn库 ...
- IDEA导出想要的sql供H2数据库使用
通过Database连接远程oracle数据库. 选择对应的数据库 双击该数据库需要查询的表,进行自动查询,展示结果. 在查询结果中选择某条数据,右键,选择Data Executer,选择对应的方式. ...
- BZOJ - 2957 (分块/线段树)
题目链接 本质是维护斜率递增序列. 用分块的方法就是把序列分成sqrt(n)块,每个块分别用一个vector维护递增序列.查询的时候遍历所有的块,同时维护当前最大斜率,二分找到每个块中比当前最大斜率大 ...
- Microsoft Office 2013 (64位) 免费完整版(安装 + 激活)
Microsoft Office 2013(Office 15)是微软的新一代Office办公软件,全面采用Metro界面.Microsoft Office 2013官方下载(Office2013专业 ...
- win10如何在局域网中设置一台电脑的固定ip地址
在工作和生活中,经常要遇到远程访问一台电脑的情况,但是在局域网中如果不进行设置,通常一台电脑的ip是自动生成的,,没有固定,这就导致下次访问这个地址时,不能正常访问,下面就交大家如何在win10系统中 ...
- js中使用分号的情况