【JAVA基础】杨辉三角
2016-03-08 20:05
836 查看
这个其实就是根据我们理解的杨辉三角来写杨辉三角!告诉你上一行的数据,你要能写出下一行的数据;
代码:
用函数实现,一维二维数组实现:
/**
* @(#)yangHuiSanJiao.java
*
*
* @author
* @version 1.00 2016/3/9
*/
public class yangHuiSanJiao {
public static void main(String[] args){
int t=6;
yangHuiSanJiao prin=new yangHuiSanJiao();
prin.print2(t);
}
static void print1(int t){
int temp=0;
int []a=new int [((t * (t + 1)) / 2) + 1];
int k=1,n=1,cnt=2;
a[1]=1;
while(temp<t){
temp++;
for(int i=k;i<k+n;i++){
System.out.print(" "+a[i]);
if(i==k&&temp<t) a[cnt++]=a[i];
if(i>k&&temp<t) a[cnt++]=a[i]+a[i-1];
if(i==k+n-1&&temp<t) a[cnt++]=a[i];
}
k=k+n;n=n+1;
System.out.println();
}
}
static void print2(int t){
int [][]a=new int [t][];
for(int i=0;i<a.length;i++){
a[i]=new int[i+1];
for(int j=0;j<i;j++){
if(i==0||j==0||i==j) a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
System.out.print(" "+a[i][j]);
}
System.out.println();
}
}
}
代码:
/** * Created by wlxsq on 2016/3/8. */ public class HelloWorld { public static void main(String[] args){ int []a; a=new int [150]; a[1]=1; int k=1,n=1,cnt=2; while(k<55){ for(int i=k;i<k+n;i++){ System.out.print(" "+a[i]); if(i==k) a[cnt++]=a[i]; // 下一行根据上一行的数据形成; if(i>k) a[cnt++]=a[i]+a[i-1]; // 注意这三行的数据不能弄乱了; if(i==k+n-1) a[cnt++]=a[i]; } System.out.println(); k=k+n;n=n+1; } } }
用函数实现,一维二维数组实现:
/**
* @(#)yangHuiSanJiao.java
*
*
* @author
* @version 1.00 2016/3/9
*/
public class yangHuiSanJiao {
public static void main(String[] args){
int t=6;
yangHuiSanJiao prin=new yangHuiSanJiao();
prin.print2(t);
}
static void print1(int t){
int temp=0;
int []a=new int [((t * (t + 1)) / 2) + 1];
int k=1,n=1,cnt=2;
a[1]=1;
while(temp<t){
temp++;
for(int i=k;i<k+n;i++){
System.out.print(" "+a[i]);
if(i==k&&temp<t) a[cnt++]=a[i];
if(i>k&&temp<t) a[cnt++]=a[i]+a[i-1];
if(i==k+n-1&&temp<t) a[cnt++]=a[i];
}
k=k+n;n=n+1;
System.out.println();
}
}
static void print2(int t){
int [][]a=new int [t][];
for(int i=0;i<a.length;i++){
a[i]=new int[i+1];
for(int j=0;j<i;j++){
if(i==0||j==0||i==j) a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
System.out.print(" "+a[i][j]);
}
System.out.println();
}
}
}
相关文章推荐
- java的3DES加密
- 简单的利用Struts2拦截器实现权限校验
- 【集合框架】JDK1.8源码分析之TreeMap(五)
- 做一个合格的程序猿之浅析Spring IoC源码(二)BeanFactory初始化
- eclipse插件开发
- JAVA基础(二)面向对象思想
- java foreach循环为什么不能赋值
- MAC下Android的Eclipse开发环境的搭建
- eclipse导入ant工程
- Eclipse自动生成返回值对象的快捷键是什么?
- Java线程基础一
- java类静态域、块,非静态域、块,构造函数的初始化顺序
- Java设计模式——单例模式
- java程序练习
- Java内存管理:深入Java内存区域
- 理解Java中的弱引用
- SpringMVC入门示例(二)
- JAVA的agent使用总结(用ASM进行操作)
- SpringMVC的两个简单入门的例子(-)
- springmvc学习笔记(2)-非注解的处理器映射器和适配器