杨辉三角的打印(Java)
//
//输入指定的行数,打印杨辉三角
//
//每个数等于它上方两数之和。
//每行数字左右对称,由1开始逐渐变大。
//第n行的数字有n项。
//
//
//
//可从打印菱形的思想出发:????? // 存在问题: 随着行数的增加,数字增大,占用空间增大,慢慢变得不“对称”。
package com.day16;
import java.util.Scanner;
public class testYangHuiSanJiao{
public static Scanner Sc =new Scanner(System.in); //初始化行数组,是每一行数组第一元素为1;
public static int[][] inital(int [][] ary){ for( int i=0;i<=ary.length-1;++i){ ary [i] = new int [i+1]; //每行元素个数本等于行数i,
//但注意到 数组是从 0 开始的,故行数组初始化为[i+1]的大小
ary[i][0]=1;//首元素初始化为1;
ary[i][i]=1; //末元素初始化为1;
} int row,colum;
for(row = 2;row <= ary.length-1;row++){ //前两行初始化已完成,从第三行开始
for(colum = 1;colum < row;colum++){ //每一行数组第一个元素(下标为0)已初始化为1,
//从第二个元素(下标为1)开始
//末元素已初始化为1,故column < row ; ary[row][colum]=ary[row-1][colum-1]+ary[row-1][colum]; }
} // //Check row ary[][]
//
// for(int i = 0; i<=ary.length-1;i++){
// for(int j = 0; j<=i;j++){ //初始化大小决定 j<=i
// System.out.print(ary[i][j]+" ");
// }
// System.out.println();
//
// }
// //测试通过,初始化正确; return ary; } public static void prtyhsj (int [][] ary){ int cbkn= ary.length-0 ;
for(int row = 0;row <= ary.length-1;row++){
//每行首先打印相应的空格;
for(int i = cbkn ; i > 0;i--){
System.out.print(" ");
}
//在打印相应行数组的元素+空格;
for(int col = 0;col <= row; col++){
System.out.print(ary[row][col]);
System.out.print(" ");
}
//打印后续对称连续空格
for(int i = cbkn;i > 0;i--){
System.out.print(" ");
}
cbkn--; System.out.println();//一行打印结束执行换行
} }
public static void main (String [] args){
System.out.println("Please input row:");
int rownum = Sc.nextInt();
System.out.println("Printing "+rownum+" row YHSJ"); //定义二维数组,第一维为行数组,并初始化
int [][] rowary = new int [rownum][] ; inital(rowary);
prtyhsj(rowary); }
}
杨辉三角的打印(Java)的更多相关文章
- 使用Python实现的杨辉三角
def triangel(): print ' '*(20*3)+str(1) #定义起始两行 print ' '*(19*3)+str(1)+' '*5+str(1) for i in range( ...
- 使用Java打印杨辉三角
package 杨辉三角; import java.util.Scanner; public class 三角 { private static Scanner scn; public static ...
- [Java练习题] -- 1. 使用java打印杨辉三角
package cn.fzm.demo1.array; import java.util.Scanner; /* * 需求:打印杨辉三角形(行数可以键盘录入) 1 1 1 1 2 1 1 3 3 1 ...
- java代码打印打印杨辉三角
郑州大学 徐峰 public class Print { void print(){ int[][] a=new int[6][6]; for(int i=0;i<a.length;i++){ ...
- Java的二维数组的应用及杨辉三角的编写
(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...
- Java数组的应用:案例:杨辉三角,三维数组,字符串数组
//import java.util.Arrays; //包含Arrays //import java.util.Random; public class HelloWorld { public st ...
- Java实现杨辉三角
杨辉三角用了两种方法解决 二维数组/递归方法 +—————————————————————————— import java.util.Scanner; public class YangHui02 ...
- Java之杨辉三角的实现
今天突然想温习一下Java的基础,想了想就写写杨辉三角吧 1.直接法,利用二维数组 import java.util.Scanner; public class Second { public sta ...
- 1233: 输出杨辉三角前n行(Java)
WUSTOJ 1233: 输出杨辉三角前n行 题目 原题链接 Description 输出杨辉三角前n行. Input 输入一个数n(n <= 9) Output 输出杨辉三角前n行.(注意行末 ...
随机推荐
- 题解报告:hdu 2588 GCD(欧拉函数)
Description The greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written ...
- 300 Longest Increasing Subsequence 最长上升子序列
给出一个无序的整形数组,找到最长上升子序列的长度.例如,给出 [10, 9, 2, 5, 3, 7, 101, 18],最长的上升子序列是 [2, 3, 7, 101],因此它的长度是4.因为可能会有 ...
- Sql2008调试问题
t-sql调试的时候,报以下错误 处理 1.要在服务器本机,不要远程 2.服务器名称用电脑名称(cmd->hostname),不要用IP,(local)或. 调试快捷键跟VS一样 F11逐语句 ...
- leetcode221 Maximal Square
思路: dp. 实现: class Solution { public: int maximalSquare(vector<vector<char>>& matrix) ...
- 系统资源监控--windows
前言: 系统资源监控一般监控系统的CPU,内存,磁盘和网络.系统分为windows和Linux.本篇主要记录windows. Windows的监控相对与Linux监控工具来说比较简单,更多的是查看wi ...
- js中原型和原型链
1.原型: 在JavaScript 中,对象被表现为prototype . 原型其实一直存在于我们接触过的任何一个对象. 2. Tip:在函数对象中也存在__proto__属性,但是查看函数对象的原型 ...
- 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)
以数据库后台驱动的动态内容的网站,经常会遇到这些的问题: 当在浏览器的地址栏输入一个无效的参数时,会出现数据库的错误提示,这是一个安全的隐患 搜索引擎无法收录你的所有网页 网页的链接地址是一系列的参数 ...
- sql的for update
欢迎大家吐槽 oracle行级共享锁 通常是通过select … from for update语句添加的,同时该方法也是我们用来手工锁定某些记录的主要方法.比如,当我们在查询某些记录的过程中,不希望 ...
- nginx_gzip压缩提升网站的传输速度
gzip on; gzip_min_length 1k; gzip_buffers 16k; #gzip_http_version 1.0; gzip_comp_level ; gzip_types ...
- 04C语言输入输出
C语言输入输出 输入字符getchar() #include <stdio.h> int main(){ putchar(getchar()); putchar(getchar()); ; ...