杨辉三角(代码直接呈现,便于理解)

简介: 杨辉三角(代码直接呈现,便于理解)

摘要:杨辉三角是一个由数字构成的三角形,其特点是每一行的每个数字都是上一行相邻两个数字之和。本文将介绍杨辉三角的原理,以及如何在C语言中实现杨辉三角的生成。


一、杨辉三角的原理

杨辉三角,又称为帕斯卡三角,是一个在数学史上具有重要意义的三角形。它的每一行都是由上一行的相邻两个数字之和构成的。从第一行开始,每一行的第一列和最后一列都是1。接下来,每一行的数字都是通过上一行的相邻两个数字之和得到的。例如,第二行的数字为1,1,第三行的数字为1,2,1(1+1=2),第四行的数字为1,3,3,1(1+2=3,2+1=3)。


二、杨辉三角的C语言代码实现


下面给出一个简单的C语言代码,用于生成行数为十的杨辉三角:

int main()
{
    int arr[10][10] = { 0 };
    int a = 1;
    int b = 1;
 
    for (a = 0; a < 10; a++)
    {
        b = 10 - a;
        while (b--)
        {
            printf("  ");
        }
 
        arr[a][0] = 1;//注意访问数组是从0开始(数组的最低下标是0)
 
        for (b = 0; b <= a; b++)
        {
            if (a == b)
                arr[a][b] = 1;
            if (a > 1 && b >= 1)
                arr[a][b] = arr[a - 1][b - 1] + arr[a - 1][b];//上一行前一列和本列数之和
            printf("%4d ", arr[a][b]);//赋值完一行后直接打印得到的整体打印效果就是直接
        }
        printf("\n");
    }
    return 0;
}


代码解析:

1. 提示用户输入要生成的行数。(根据需要判断是否要这一步)

2. 使用嵌套的for循环来遍历每一行和每一列。

3. 在每一行开始时,使用内部for循环打印一些空格,以便使得三角形居中。

4. 在每一行内部的第二个for循环中,计算并打印每个数字。对于每一行的第一个数字或者是每一行的第一个和最后一个数字,设定为1。对于其他数字,通过将其设置为上一行相邻两个数字的和来计算。使用一个变量coef来保存每个数字的值。

5. 在每一行结束后,通过使用printf("\n")来打印一个换行符,将光标移动到下一行的开头。

6. 循环直到所有行都打印完毕。


运行该代码,就可以输出一个行数为十的杨辉三角



通过本文,你了解了杨辉三角的原理以及如何在C语言中实现杨辉三角的生成。在实际应用中,杨辉三角可以用于快速计算阶乘、斐波那契数列等。希望这篇博客对你有所帮助!

相关文章
|
存储 Java 网络性能优化
MQTT Java客户端的使用
(mqtt java客户端整合Spring的参看这篇文章) Paho Java客户端是一个用Java编写的MQTT客户端库,用于开发在JVM或其他Java兼容平台(如Android)上运行的应用程序。
7349 0
|
5月前
|
Linux iOS开发 计算机视觉
GIMP 3.0.6 (Linux, macOS, Windows) 发布 - 免费开源图像编辑器
GIMP 3.0.6 (Linux, macOS, Windows) 发布 - 免费开源图像编辑器
382 0
|
人工智能 测试技术 Apache
SmolVLM:Hugging Face推出的轻量级视觉语言模型
SmolVLM是Hugging Face推出的轻量级视觉语言模型,专为设备端推理设计。以20亿参数量,实现了高效内存占用和快速处理速度。SmolVLM提供了三个版本以满足不同需求,并完全开源,所有模型检查点、VLM数据集、训练配方和工具均在Apache 2.0许可证下发布。
1315 7
SmolVLM:Hugging Face推出的轻量级视觉语言模型
|
供应链 数据挖掘 BI
1688 买家订单,订单物流,订单回传接口系列(1688 寻源通 API)
1688作为国内领先的批发采购平台,提供了买家订单、订单物流及订单回传三大API接口,助力企业实现订单管理、物流跟踪和信息反馈的自动化。通过这些接口,企业可以获取订单详情、物流状态,并将处理结果回传至平台,提升运营效率。Python示例代码展示了如何使用这些接口进行数据交互,适用于电商内部管理、物流跟踪及数据分析等场景。
|
数据采集 存储 JavaScript
基于Python 爬书旗网小说数据并可视化,通过js逆向对抗网站反爬,想爬啥就爬啥
本文介绍了如何使用Python编写网络爬虫程序爬取书旗网上的小说数据,并通过逆向工程对抗网站的反爬机制,最后对采集的数据进行可视化分析。
982 109
基于Python 爬书旗网小说数据并可视化,通过js逆向对抗网站反爬,想爬啥就爬啥
|
数据采集 JavaScript 前端开发
初始爬虫13(js逆向)
初始爬虫13(js逆向)
|
算法 安全 Java
【经典算法】LeetCode 21:合并两个有序链表Java/C/Python3实现含注释说明,Easy)
【经典算法】LeetCode 21:合并两个有序链表Java/C/Python3实现含注释说明,Easy)
436 1
|
Web App开发 存储 Android开发
update_engine简介
update_engine简介
538 5
|
机器学习/深度学习 计算机视觉 网络架构
YOLOv9这么快就来了,赶紧学起来~
YOLOv9这么快就来了,赶紧学起来~