杨辉三角形c语言程序递归算法,每日一题之杨辉三角的递归打印
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
// triangle.cpp : 定义控制台应用程序的入口点。
//
/************************************
*题目: 杨辉三角打印到(同时打印到控制台和文件中)
*实现方法:递归方法实现
*编译环境:vs2008
************************************/
#include "stdafx.h"
#include
/************************************
*此函数为递归方法打印杨辉三角。row和col
分别表示行和列。杨辉三角的格式为
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
由图可知,第一行的值为1,第i行,第i列的值也为1,
所以得出if(row == 1 || row == col) return 1;
从第二行开始,第m行n列的值是m-1行n-1列的值加上
m-1行n列的值,如果n为1时,那么第0行是不存在的,所以
我虚拟了第0列,并且将该列的所有值置为0,于是得出
if(col == 0) return 0;
return fun(row-1,col-1)+fun(row-1,col);
两个式子。
************************************/
int fun(int row,int col)
{
if(col == 0) return 0;
if(row == 1 || row == col) return 1;
return fun(row-1,col-1)+fun(row-1,col);
}
void main()
{
FILE *fp;
int n; /*杨辉三角的阶数*/
int i,j;/*表示行和列*/
if( (fp = fopen("e:\\triangle.txt","w+")) == NULL ){
printf("打开文件失败!");
return;
}
printf("请输入要打印的杨辉三角的阶数:");
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
printf("%5d",fun(i,j));
fprintf(fp,"%5d",fun(i,j));
}
printf("\n");
fprintf(fp,"\n");
}
fclose(fp);
getchar();
getchar();
}
杨辉三角形c语言程序递归算法,每日一题之杨辉三角的递归打印相关推荐
- 【每日一算法】杨辉三角 II
每日一算法-杨辉三角 II 题目 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] ...
- 嵌入式 Linux 开发工具篇问题整理//C语言测试(杨辉三角、递归调用实现阶乘、计算器、统计字符串出现次数)//2018.07.12.//
嵌入式 Linux 开发工具篇问题整理 1. 嵌入式开发与传统开发的区别?(同类问题:单片机开发与嵌入式开发的区别) 是否有无操作系统: 2. 移植操作系统的好处有哪些 ...
- 【每日一算法】杨辉三角到底是什么?
每日一算法-杨辉三角 题目 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5 输出:[ [1], ...
- LeetCode简单题之杨辉三角 II
题目 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: rowIndex = 3 输出: [1 ...
- 求杨辉三角的前n行数据_LeetCode算法第118题:杨辉三角
题目描述: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5输出:[ [1], [1,1], [1,2,1 ...
- C语言课程设计报告输出杨辉三角,C语言学习:在屏幕上输出杨辉三角
杨辉三角的规律是:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和. 代码如下: #include #include int main() { int i,j,k,arr[10][ ...
- 求杨辉三角的前n行数据_两道简单的套公式算法题:杨辉三角
杨辉三角应该是大家很早就接触到的一个数学知识,它有很多有趣的性质: 每个数字等于上一行的左右两个数字之和,即 C(n+1,i) = C(n,i) + C(n,i-1) 每行数字左右对称,由 1 开始逐 ...
- c语言金字塔杨辉三角怎么写,打印金字塔式整齐杨辉三角
打印金字塔式整齐杨辉三角 杨辉三角是比较基础的算法题,如果加上对齐,要求整齐不错位的金字塔式,需要考虑的细节就相对要多一些. 先说需求,输入行数,打印出整齐的金字塔式杨辉三角. 大体思路 将杨辉三角中 ...
- 【宋红康程序思想学习日记3】杨辉三角
class Shuzu3 { public static void main(String[] args) { int[][] yanghui=new int[10][]; //初始化二维数组 f ...
最新文章
- 怎样设定手机或平板让它更安全?
- c语言平滑raw图像(取平均值法)
- html 5 gif手机版,动画GIF在HTML5画布
- Storm 02_Storm 计算模型
- 时间序列研(part3)--单积性
- 使用djcproxy创建代理对象
- imageview 自定义 android,Android自定义ImageView实现在图片上添加图层效果
- (day 47 - 位运算 ) 剑指 Offer 65. 不用加减乘除做加法
- python网站开发实例 flask_Python Web开发之——构建基于Flask框架的web后端项目
- openwrt nas_【群晖】用群晖虚拟机安装New Pi(OpenWRT)软路由系统
- python语言采用________方式运行程序_静态语言采用________方式执行,如C语言;脚本语言采用________方式执行,如Python语言。_学小易找答案...
- 使用docker运行mysql:5.7
- PyQt5窗口滚动显示最新数据
- python第一天----爬取优美图库的图片
- android6.0 framwork修改
- SourceInsight基本使用
- UniApp video 使用
- unity 转盘记录
- html5 canvas画椭圆形
- Matlab学习——曲柄滑块的运动仿真