导航:首页 > 编程语言 > 以下程序段用于输出杨辉三角

以下程序段用于输出杨辉三角

发布时间:2023-09-09 03:57:05

『壹』 编程序输出杨辉三角,用一个函数实现

#include<stdio.h>
int main()
{
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n); /*控制输入正确的值以保证屏幕显示的图形正确*/
for(i=0;i<=n;i++) /*控制输出N行*/
{
for(j-0;j<24-2*i;j++) printf(" "); /*控制输出第i行前面的空格专*/
for(j=1;j<i+2;j++) printf("%4d",c(i,j)); /*输出第i行的第属j个值*/
printf("\n");
}
}

void int c(int x,int y) /*求杨辉三角形中第x行第y列的值*/
{
int z;
if((y==1)||(y==x+1)) return 1; /*若为x行的第1或第x+1列,则输出1*/
z=c(x-1,y-1)+c(x-1,y); /*否则,其值为前一行中第y-1列与第y列值之和*/
return z;
}

『贰』 用c语言编写程序 输出杨辉三角

程序:

#include<stdio.h>

int main()

int n,i,j,a[100];

n=10;

printf(" 1");

printf(" ");

a[1]=a[2]=1;

printf("%3d%3d ",a[1],a[2]);

for(i=3;i<=n;i++)

{

a[1]=a[i]=1;

for(j=i-1;j>1;j--)

a[j]=a[j]+a[j-1];

for(j=1;j<=i;j++)

printf("%3d",a[j]);

printf(" ");

}

return 0;

}

应用

与杨辉三角联系最紧密的是二项式乘方展开式的系数规律,即二项式定理。例如在杨辉三角中,第3行的三个数恰好对应着两数和的平方的展开式的每一项的系数(性质 8),第4行的四个数恰好依次对应两数和的立方的展开式的每一项的系数。

以上内容参考:网络-杨辉三角

『叁』 请编一程序输出以下的杨辉三角形,要求输出10行

文章有错误,我要报错 到论坛交流、讨论 对该文章进行评论 进入VIP视频站下载视频- import java.math.BigInteger;/** * 类名: TestYangHuiSanJiao 说明: 用三种方法输出"杨辉三角" 注: 最简单的方法就是是定义一个二维数组, 保存产生的所有"杨辉三角"值, 但是如果要输入一个比较大的"杨辉三角"(如 * 100000行),就必需申请一个100000 * 100000的数组,那就需要37多G的内存,正常工作或者家用电脑应该没有能达到这个 要求的,就算是10000 * 10000 的数组也需要400M左右的内存. * 所以,只需要记录对后面计算有用的"杨辉三角"值. */public class TestYangHuiSanJiao{ public static void main(String[] args) { YangHui2 yangHuiTest = new YangHui2(100); yangHuiTest.printYangHui(); }}/** * 类名: YangHui2 说明: 定义一个一维数组,记录当前行的值注: 数组初始状态为上一行元素, 修改其值使之成为当前行的元素值."即:当前元素的值 * 为前一元素与当前元素的和",当前元素在计算下一元素时会用到,所以在覆盖当前元素之前必需保留其初始值参与下次运算 */class YangHui2{ BigInteger[] arr1; // 定义数组记录上一行的值, 在其基础上计算得到当前行的值 int intNum; // 记录"杨辉三角"行数 /** * 入口参数: "杨辉三角"行数 说明: 类变量初始化过程 */ YangHui2(int intNum) // 构造函数 { arr1 = new BigInteger[intNum]; // "杨辉三角"一行最多有N个值,根据需要定义数组大小 this.intNum = intNum; // 记录"杨辉三角"行数 arr1[0] = BigInteger.valueOf(1); // 第一个元素为1 for (int i = 1; i < arr1.length; i++) // 对象数组初始化过程 { arr1[i] = BigInteger.valueOf(0); } } void printYangHui() // 计算并打印"杨辉三角" { BigInteger longTmp; // 定义变量记录当前元素值 BigInteger longTmp2; // 定义变量记录前一元素值 // 说明: 保存当前元素值用于下次计算 for (int i = 1; i <= intNum; i++) // 进入循环,开始计算打印"杨辉三角" { longTmp2 = BigInteger.valueOf(0); // 进入新行计算时清空前一元素值, 在本行计算中会赋新值 for (int j = 0; j < i; j++) { longTmp = arr1[j]; // 记录当前元素的初始值 arr1[j] = longTmp2.add(arr1[j]); // 当前元素的值为前一元素(longTmp2)与当前元素的和 longTmp2 = longTmp; // 当前元素初始值作为下一计算的前一元素运用 System.out.print(arr1[j] + "\t"); // 打印 } System.out.println(); // 换行 } }} 文章出处:DIY部落( http://www.diybl.com/course/4_webprogram/jsp/jsp_js/20090304/157838.html)

阅读全文

与以下程序段用于输出杨辉三角相关的资料

热点内容
网络如何把人捧红 浏览:961
软件传输文件 浏览:184
密码记录器ios 浏览:412
两个电脑数据怎么一样 浏览:829
顺丰有什么买东西的app 浏览:377
数位板word 浏览:939
win7宽带连接出现多重网络 浏览:268
更改程序图标c语言 浏览:629
网络电视偷停怎么办 浏览:418
linux连接ftp 浏览:512
es文件浏览器视频笔记 浏览:874
mac无法打开描述文件 浏览:134
什么软件打文件 浏览:53
数据库无数据变成0 浏览:899
名企笔试如何刷编程题 浏览:49
js跳到页面某地 浏览:550
jsp展示clob字段 浏览:779
nyx在网络上是什么意思 浏览:145
乐播农业app是什么 浏览:530
编程框架如何开发 浏览:136

友情链接