一个杨辉三角

杨辉三角的Java实现
本文分享了一个使用Java实现的杨辉三角代码示例。通过输入行数,程序能够生成相应的杨辉三角矩阵并打印出来。该代码利用了二维数组进行存储,并运用了两层循环来填充数组。

啦啦啦!我又来了!我是超carry的MF

package HW0628;

import java.util.Scanner;

public class yanghuiTriangle {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入行数;");
		int n=sc.nextInt();
		int[][]a=new int[n][n];
		
		
		for(int i=0;i<a.length;i++) {
			a[i][0]=1;
			a[i][i]=1;		
		}
		
		for(int i=2;i<a.length;i++) {
			for(int j=1;j<i;j++) {
				a[i][j]=a[i-1][j]+a[i-1][j-1];
			}		
		}
		
		for(int i=0;i<a.length;i++) {
			for(int j=0;j<=i;j++) {
				System.out.print(a[i][j]+"\t");
				
			}
			System.out.println();
		}
	}
}

我来了!我走了!
在这里插入图片描述

### 使用C语言打印杨辉三角 为了实现这一功能,可以采用两种不同的方法来构建并显示杨辉三角。一种方式是直接计算每一项的组合数值,而另一种更常见的方式则是利用二维数组存储中间结果以便重复使用。 #### 方法一:基于组合数公式的直接计算法 这种方法适用于较小规模的情况,在每次迭代时重新计算当前行中的各个系数值: ```c #include <stdio.h> int main() { int rows, coef = 1, space, i, j; printf("请输入行数:"); scanf("%d", &rows); for (i = 0; i < rows; i++) { // 打印每行前面的空间字符 for (space = 1; space <= rows - i; space++) printf(" "); for (j = 0; j <= i; j++) { if (j == 0 || i == 0) coef = 1; else coef = coef * (i - j + 1) / j; printf("%4d", coef); } printf("\n"); } return 0; } ``` 此段代码实现了基本的功能需求[^2]。 #### 方法二:使用二维数组保存历史记录 这种方式更加直观易懂,并且效率更高因为它避免了大量的冗余运算。这里定义了一个二维数组`a[][]`用于储存已经计算过的值,从而简化后续相同位置上的求解过程。 ```c #include <stdio.h> #define MAX_ROW 10 int main(){ int n; int a[MAX_ROW][MAX_ROW]; printf("请输入要输出的最大行数(n<=10): "); scanf("%d",&n); for(int line=0;line<n;line++){ // 初始化两端为1 for(int i=0;i<=line;i++){ if(line==i||i==0){ a[line][i]=1; }else{ a[line][i]=a[line-1]+a[line-1][i]; } printf("%4d",a[line][i]); } printf("\n"); } return 0; } ``` 这段代码不仅能够正确地展示出指定数量级别的杨辉三角结构,同时也遵循了输入约束条件的要求[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值