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]+"    ");
}
out.print("</br>");
}
out.print("</center>");%>
</body>
</html>
实现效果图:
接下来可以输入col的值:
就大功告成了!!!
代码还处于完善阶段,大家有什么更好的建议可以评论,谢谢!!!