zoukankan      html  css  js  c++  java
  • 算法学习——递推之杨辉三角

    算法描述

    杨辉三角

    算法思路

    1. 将杨辉三角看成一个二维数组,开头和末尾都为1

    2. 第一行和第二行已经被前面的1给赋值了,所以我们直接从第三行开始赋值,a[2][1]开始,因为下标是从0开始的,a[2][1] = a[1][0]+a[1][1],也就是等于2,依次递推下去

    3. 打印(for循环),每打印出一行则换一行,System.out.println

    我的打印处理没有处理好,如果数组有两位数,打印出来就不是很美观

    算法实现

    	Scanner scanner = new Scanner(System.in);
    	int n = scanner.nextInt();
    	int[][] a = new int [n][n];
    	
    	//初始化条件,头部和尾部都是为1
    	for(int i=0;i<n;i++){
    		a[i][0]=1;
    		a[i][i]=1;
    	}
    	
    	//第3行开始,下标为2
    	for(int i=2;i<n;i++){
    		//列从第二个开始,到倒数第二个,下标为1到n-1
    		for(int j=1;j<n-1;j++){
    			a[i][j] = a[i-1][j-1]+a[i-1][j];
    		}
    	}
    	
    	for(int i=0;i<n;i++){
    		
    		//画开头空格
    		for(int m=n-i-1;m>0;m--){
    			System.out.print(" ");
    		}
    		
    		for(int j=0;j<=i;j++){
    			System.out.print(a[i][j]+" ");
    		}
    	
    		System.out.println("");	//一行结束换行
    		}
    

    结果

  • 相关阅读:
    Codeforces Round #370 (Div. 2)
    Codeforces Round #425 (Div. 2)
    变量调节器
    Smarty基础
    流程
    iframe 内联框架
    权限:改变权限
    权限:查找
    html 框架
    Jcrop+uploadify+php实现上传头像预览裁剪
  • 原文地址:https://www.cnblogs.com/stars-one/p/9916518.html
Copyright © 2011-2022 走看看