解题思路:

之前我写了一个用找到的规律来写的杨辉三角形的代码,想了一下又想到当初学排列组合数时说杨辉三角形中的数字就是排列组合数,所以用组合数又写了一次。

但是输入行数太大的时候阶乘函数无法返回值,会导致错误,但如果想算较大数字的阶乘也不是不行,最后面有一段代码可以这样算,可是太长,所以分开单列了一下。有兴趣的可以把fun1()这个函数重新编写试一下啊。

参考代码:#include

using namespace std;

long long fun1(int n)                     //阶乘函数,返回n的阶乘

{

long long sum = 1;

for (int i = 2; i <= n; i++)

{

sum *= i;

}

return sum;

}

long long fun2(int m, int n)               //组合数函数,C m取n

{

return fun1(m) / (fun1(n)*fun1(m - n));

}

void fun3(int m,int n)           //输出空白格函数,m表示二维数组行的下标,n表示行的个数

//这个函数的作用主要是为了让输出的杨辉三角形看起来更对称

{

for (int i = 1; i <= n - m - 1; i++)

{

cout <

}

}

int main()

{

int n;

int a[30][30];

while(cin>>n)

{

for (int i = 0; i

{

for (int j = 0; j

{

//打印杨辉三角形,给二维数组赋值,每个数都等于它所在行数和列数的组合排列数,C(i取j)

a[i][j] = fun2(i, j);

}

}

for (int i = 0; i

{

fun3(i, n);

for (int j = 0; j

{

cout <

}

cout <

}

cout<

}

return 0;

}

/*************************************************************************************///给出算较大数的阶乘,可以算到千位数的阶乘,用数组来存放数据而不是int或是long long

#include

#include

using namespace std;

int main()

{

int a[3005]={0};//存放阶乘的数字

a[0] = 1;//数组刚开始表示10000...,就是数字1

int n, c, sum = 0;

cin >> n;

for (int i = 2; i <= n; i++)

{

c = 0;

for (int j = 0; j

{

sum = a[j] * i + c;//某一位的数字乘i,加上c是低位进上来的数字

a[j] = sum % 10;//这一位的最终数字就是sum除于10的余数,整数部分进上去给高位

c = sum / 10;//低位给高位的余数

}

}

for (int e = 3004; e>=0; e--)

{

if (a[e] != 0)

{

for (int w = e; w >=0; w--)

{

cout <

}

break;

}

}

cout <

system("pause");

}

c++语言杨辉三角,杨辉三角 (C++代码)相关推荐

  1. 用c语言编程写出杨辉三角,用C语言编写杨辉三角

    今天给大家带来用C语言在屏幕上输出杨辉三角 杨辉三角: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 思路:主要用到循环和数组的知识,今天就以for循环为例,给大家输出10行的杨辉三角. ...

  2. C语言 生成并输出一个杨辉三角的前7行,分别按左下三角,右下三角以及金字塔形式输出。

    生成并输出一个杨辉三角的前7行,分别按左下三角,右下三角以及金字塔形式输出. #include <stdio.h> int main(){//左边的杨辉三角int a[7][7],i,j; ...

  3. 杨辉三角(下三角或者等腰三角)

    //杨辉三角(下三角或者等腰三角) #include <stdio.h> int fun(int i,int j) { if(i==j||1==j) return 1; else retu ...

  4. python杨辉三角代码,python实现杨辉三角的几种方法代码实例

    方法一:迭代 def triangle_1(x): """ :param x: 需要生成的杨辉三角行数 :return: """ trian ...

  5. C语言4种二维数组三角题

    C语言4种二维数组三角题 此处都以将此三角形的元素乘以n为例 int i,j; for(i=0;i<N;i++) //行编译总是不变 for(j=0;*j<=i*;j++)a[i][j]= ...

  6. c语言编程倒三角九九乘法表,【请用C语言变成】把九九乘法表分别显示成矩形,正三角,倒三角形状...

    满意答案 sjdesjde 2014.06.24 采纳率:49%    等级:12 已帮助:7265人 思路:不同形状就是解决格式控制 ,即空格的填充和换行问题.九九乘法表一共有sigma(9)=1+ ...

  7. 一题多解(八)—— 矩阵上三角(下三角)的访问

    访问矩阵的上三角或者下三角,一般出现在矩阵为对角方阵(避免重复访问)的情况: 方法之一: for i in range(n):for j in range(i+1):... 方法之二: for i i ...

  8. 数据结构c语言程序杨辉三角,杨辉三角 --- C语言程序

    杨辉三角 ---  C语言程序 1.前言 最近在逛博客的时候发现一个特别有意思的三角形  然后便编写了下来.   它呢就是杨辉三角,也作为我的首篇博客吧 2.旅程开始 此处为网上所找到的公式以及各种概 ...

  9. Java打印输出左下三角、右下三角、正上三角、倒三角、菱形

    1.左下三角 思路:使用双重循环,外层循环控制行,内层循环控制列 public class Exercise {public static void main(String[] args) {int ...

  10. Python打印九九乘法表---左上三角、左下三角、右上三角、右下三角形格式

    Python打印九九乘法表---左上三角.左下三角.右上三角.右下三角.倒三角形格式 1.左上三角乘法表 2.左下三角乘法表 3.右上三角乘法表 4.右下三角乘法表 5.倒三角乘法表 1.左上三角乘法 ...

最新文章

  1. 3D相机(1):1、了解
  2. php fastcgi进程启动,Shell脚本实现启动PHP内置FastCGI Server
  3. Winform让扫描枪听话,防止在有焦点的地方就扫码输入的尴尬
  4. 修改sga后oracle打不开的解决方法
  5. 网络安全比赛理论答题(三)
  6. 针对以下需求提供一个解决方案:在卡牛-信用卡管家APP里面,我们的用户需要一个寻找 附近银行网点/ATM 的功能
  7. 543. 二叉树的直径 golang
  8. LeetCode 557. 反转字符串中的单词 III(栈)
  9. webbrowser实现input tab事件_如何合理构造一个Uploader工具类(设计到实现)
  10. 比特飞解决方案大汇总,你的贴身家教
  11. gaster字体转换器_wingdings
  12. java 企业微信对接_Java对接企业微信
  13. java saxreader,java – 如何使用dom4j SAXReader脱机?
  14. 型机器人同人本子_唯美的人×机器人漫画《純情愛玩生化女友》
  15. tan和cot的梗_cot和tan的关系
  16. p系统ndows10的功能更新1903,Win10 1903到底有什么不同?Win10 1903更新内容汇总
  17. 【二】Centos 7.6下载与安装
  18. 首款国风链游打造视觉“饕餮盛宴” 见证元宇宙数字资产变革新峰
  19. C/C++基于朋友圈的商品推荐系统
  20. 关于机器学习与人类学习不同点的思考

热门文章

  1. 11年电赛综合测评——单运放三角波发生器
  2. 熊拍拍是什么?熊拍拍是下一个风口吗?
  3. assets文件使用
  4. 2021暑假Leetcode刷题——Two Pointers(3)
  5. 冰川时代4中英台词全集
  6. teamviewer 11 linux,安装Teamviewer的问题
  7. 时光不负,对我来说不寻常的一年 | 2021 年终总结
  8. 数组取第一个元素和最后一个元素
  9. 使用Matlab软件进行逐像元Hurst指数分析
  10. cv2读出来的图片的颜色通道是bgr