JSP实现等腰杨辉三角,你真的了解杨辉三角吗?

在jsp实现之前,先了解一下什么是杨辉三角,再通过java实现一下杨辉三角,最后通过jsp实现等腰杨辉三角。

什么是杨辉三角

杨辉三角形,又称贾宪三角形、帕斯卡三角形,是二项式系数在三角形中的一种几何排列.
杨辉三角形同时对应于二项式定理的系数.n次的二项式系数对应杨辉三角形的n + 1行.
例如在2次的二项式正好对应杨辉三角形第3行系数1 2 1.杨辉三角以正整数构成,数字左右对称,每行由1开始逐渐变大,然后变小,回到1.第n行的数字个数为n个.第n行的第k个数字为组合数.第n行数字和为2n − 1.除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和(也就是说,第n行第k个数字等于第n - 1行的第k − 1个数字与第k个数字的和).这是因为有组合恒等式:.可用此性质写出整个杨辉三角形.
如图:
在这里插入图片描述

java实现杨辉三角

public class YHSJ {
 public static void main(String[] args) { 
  //定义了一个长度为10,高度为10的二维数组,数组中的值都为0; 
   int[][] arr=new int[10][10];
     for(int i=0;i<arr.length; i++) { 
       //由于只是给杨辉三角内的位置赋值,所以是j<=i   
       for(int j=0;j<=i;j++) {  
         //根据规律,使用if else 赋值  
           if(j==0||j==i) {    
            arr[i][j]=1; 
               }else {   
                 arr[i][j]=arr[i-1][j-1]+arr[i-1][j];    
                 }    /*由于只是输出杨辉三角范围内的值,所以在内层循环就输出,这种方法不能全部赋值完之后再输出     "\t"的原因是10和小于10的数组的宽度不同,所以使用\t制表符能使数与数之间距离相等    */  
                  System.out.print(arr[i][j]+"\t");   } 
                  System.out.println();  } }

jsp实现杨辉三角

<%--
  Created by IntelliJ IDEA.
  User: 陌生人
  Date: 2020/3/12
  Time: 8:35
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
请输入行数:
<form action="#" method="post">
    <input type="text" name="col" id="col"></br>
    <input type="submit" value="submit" >

</form>
<% int n=0;
if(request.getParameter("col")!=null){
    n=Integer.parseInt(request.getParameter("col"));
}else{
   out.print("<font color=red> <h1 >提示:请输入col的值</h1></font>");
}

   out.print("<center><h1>行数"+n+"的杨辉三角形如下:</h1></center></br>");
       int[][] arr = new int[n][n];
       out.print("<center>");
       for (int i = 0; i <= n-1; i++) {

           for (int j = 0; j <= i; j++) {
               if (j == 0 || j == i) {
                   arr[i][j] = 1;
               } else {
                   arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
               }
               out.print(arr[i][j]+"&nbsp&nbsp&nbsp&nbsp");
           }
           out.print("</br>");
       }
       out.print("</center>");%>


</body>
</html>

实现效果图:
在这里插入图片描述
接下来可以输入col的值:
在这里插入图片描述就大功告成了!!!
代码还处于完善阶段,大家有什么更好的建议可以评论,谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值