【杨辉三角】打印杨辉三角前10行

2024-08-24 12:52
文章标签 杨辉三角 打印

本文主要是介绍【杨辉三角】打印杨辉三角前10行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

杨辉三角(Pascal's Triangle)是一个由数字组成的三角形,具有许多有趣的数学性质。每个数字是其上方两个数字之和。它的第一行和第一列都是1,形成的结构如下

         1
       1   1
     1   2   1
   1   3   3   1
 1   4   6   4   1
1   5  10  10   5   1

杨辉三角的性质:

  1. 边界:每行的第一个和最后一个元素都是1。
  2. 对称性:每行的元素是对称的,即第 nn 行的第 kk 个元素等于第 nn 行的第 n−kn−k 个元素。
  3. 组合数:第 nn 行的第 kk 个元素表示组合数 C(n,k)C(n,k),即从 nn 个元素中选择 kk 个的方式数。

打印杨辉三角前10行,使用C语言实现

具体代码

#include<stdio.h>int main(){int a[10][10];for(int i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(int i=2;i<10;i++){for(int j=1;j<i;j++){a[i][j]=a[i-1][j-1]+a[i-1][j];}}for(int i=0;i<10;i++){for(int j=0;j<=i;j++){printf("%-5d",a[i][j]);}printf("\n");}return 0;
}

输出结果:

标准输出则需要修改一下:

#include <stdio.h>int main() {int a[10][10]; // 用于存储杨辉三角的二维数组// 初始化杨辉三角的第一列和对角线for (int i = 0; i < 10; i++) {a[i][0] = 1; // 每行的第一个元素为1a[i][i] = 1; // 每行的最后一个元素为1}// 填充杨辉三角的其他元素for (int i = 2; i < 10; i++) {for (int j = 1; j < i; j++) {a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; // 当前元素等于上方两个元素之和}}// 打印杨辉三角for (int i = 0; i < 10; i++) {// 打印每行前的空格,使其居中for (int j = 0; j < 10 - i; j++) {printf(" ");}// 打印每行的元素for (int j = 0; j <= i; j++) {printf("%-5d", a[i][j]); // 使用%-5d格式化输出}printf("\n"); // 换行}return 0;
}

输出结果:

 

输出正确!

觉得有帮助的话点个赞吧!

这篇关于【杨辉三角】打印杨辉三角前10行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102540

相关文章

多数据源的事务处理总是打印很多无用的log日志

之前做了一个项目,需要用到多数据源以及事务处理,在使用事务处理,服务器总是打印很多关于事务处理的log日志(com.atomikos.logging.Slf4jLogger),但是我们根本不会用到这些log日志,反而使得查询一些有用的log日志变得困难。那要如何屏蔽这些log日志呢? 之前的项目是提高项目打印log日志的级别,后来觉得这样治标不治本。 现在有一个更好的方法: 我使用的是log

fastreport打印trichedit分页问题的解决

用fastreport来打印richedit里面的内容。刚开始放一个frxrichview组件到报表上,然后在 var str: TMemoryStream; begin    begin      str:= TMemoryStream.Create;      CurrRichRecord.richedit.Lines.SaveToStream(str);      str.Posit

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

Java项目中,配置打印 JDBC 日志的几种方法

在 IDEA 项目中,如果你想打印 JDBC 日志,可以通过配置日志框架(如 Logback 或 Log4j)来实现。Spring Boot 使用的默认日志框架是 Logback,你可以通过在 application.yml 文件中配置日志级别来打印 JDBC 日志。 方法 1: 使用 application.yml 配置 JDBC 日志 logging:level:# 显示 SQL 语句co

c语言——用一维数组输出杨辉三角形

一.代码 #include <stdio.h>int Num[100];int Hang;int Lie;int a;int Flag;int main() {Lie = 1;Hang = 1;a = 0;while (1) {//列1为1if (Lie == 1) {Num[1] = 1;Lie++;}//数据存到数组里面while (Hang >= Lie && Hang !=

一个C++程序运行,从点击运行到控制台打印文本,电脑硬件的资源是如何调动的

当点击运行一个 C++ 程序并看到控制台输出文本时,计算机硬件和操作系统之间协同工作,完成了多个步骤。这些步骤涉及 CPU、内存、存储设备、操作系统和输入输出设备的共同作用。下面是一个详细的过程描述: 1. 程序加载 启动:当你点击运行一个可执行文件时,操作系统(通常是 Windows、Linux 或 macOS)的文件系统管理器识别请求,并启动加载程序。读取可执行文件:加载程序将可执行文件从

跨平台打印模板转化pdf源码--SAAS本地化及未来之窗行业应用跨平台架构

一、跨平台打印转pdf渲染 pdf渲染模式可以支持国产化系统,和手机系统,安卓,苹果系统,qq浏览器,火狐,谷歌刘安祺 二、代码 /*///cyberwin_offline_database_printtemp.js未来之窗打印模板解析技术 2024-09LeftMargin="0" TopMargin="0" RightMargin="0" BottomMargin="0"ReportP

日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查

一、异常堆栈无traceId 排查定位问题异常痛苦        在日常项目开发中,我们会自定义一个traceId方便,链路追踪。在log4j2.xml 我们可能是这样去配置日志打印格式。 <Console name="CONSOLE" target="SYSTEM_OUT"><PatternLayoutpattern="${APP_NAME} %-d{yyyy-MM-dd HH:mm:ss}

hiprint打印/jsPDF使用/html2canvas

最初我知道hiprint.print是可以打印双模板的,于是查看hiprint.print的源码发现底层实现是this.getHtml(t).hiwprint,于是断点查看getHtm的实现,得知它是遍历我们对print传参的list,利用list中模板对象的getHtml()方法得到模板的dom对象,同时利用append将两个模板dom拼接到一个模板对象里然后返回。至此我们可以拿到一个合成的模板

题目:求100以内的素数,全部打印出来。

题目:求100以内的素数,全部打印出来。 public class ZhaoSuShu {public static void isPrime1(){int i,j,count = 0;//System.out.println("2");for(i = 1; i <= 100; i++){for(j = 2; j <= i; j++){if(i % j == 0){break;}}if(j ==