当前位置: 首页 > news >正文

科技网站模板免费下载天津seo培训

科技网站模板免费下载,天津seo培训,wordpress 微信端 主题,做seo推广做网站有用吗大家好,我是清墨,欢迎收看《C进阶课程——排列与组合》。 啊,上一期我们的情况啊也是非常好的,今天直接开始! 排列(Arrange) 与上期一样啊,我们先了解一下排列的概念。 排列是指将…

大家好,我是清墨,欢迎收看《C++进阶课程——排列与组合》。

 啊,上一期我们的情况啊也是非常好的,今天直接开始!

排列(Arrange)

与上期一样啊,我们先了解一下排列的概念。 

排列是指将一组事物按照一定的顺序进行摆放的方式。在数学中,排列是指从一组事物中选取若干个进行组合,并按照特定的顺序进行排列的方法。

至于怎样表示呢就用A_{n}^{m}表示从n个元素中选择m个元素进行排列,所有的方案数。

A_{n}^{n}是n的全排列,结果是n的阶乘(n!)。

计算:A_{n}^{m}     =     \frac{n!}{(n-m)!}

组合(Combination)

组合是从给定的元素集合中选取一些元素的方式。在组合中,选取的元素的顺序是不重要的,也就是说,(1,2,3)和(3,2,1)被视为相同的组合。 

至于怎样表示呢就用C_{n}^{m}表示从n个元素中选择m个元素进行组合,所有的方案数。

计算:C_{n}^{m} = \frac{n!}{m!\cdot (n-m)!}

海题——杨辉三角

题目描述

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

 

上面的图形熟悉吗?如果还没看出来它的特点的话,不妨再调整一下格式:

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

是不是看出这些数字的特点了?这是大名鼎鼎的杨辉三角。

今天,我们试着来输出 n 行的杨辉三角数字。

输入格式 1 个正整数:n。

输出格式 相应层数的杨辉三角数字。

样例

输入数据 1

6

输出数据 1

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

 

代码:

#include<bits/stdc++.h>
using namespace std;
int n,a[111][111];
int main(){cin>>n;a[1][1]=1;a[2][1]=1;a[2][2]=1;for(int i=3;i<=n;i++){for(int j=1;j<=n;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];}}for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){cout<<a[i][j]<<" ";}cout<<endl;}return 0;
}

 杨辉三角有什么用呢,先买个管子,进入例题。

例题1.派水果

 题目描述

若一位母亲手里有 m 个相同的苹果,还有 n 个相同的梨,在 m+n 天内分给她的小孩,每天分 1 个水果,有多少种不同的分派方案?。

输入格式 两个整数 m 和 n ( 1≤m,n≤32)。

输出格式 一个整数。结果不超出 max long long

样例

输入数据 1

2 3

 

输出数据 1

10

分析题目 

本题确定了苹果的位置就可以确定梨的位置,又因为苹果和梨都相同,所以不用考虑顺序。

只用求 C_{n+m}^{m}或  C_{n+m}^{n}就可以了。

所以C_{n+m}^{m}=C_{n+m}^{n}

但是,直接计算必须会超,在我们计算32的阶乘时,就会溢出。

“e+35”!10的35次方,超出了long long范围,那要怎样计算呢?

找规律 

我们不妨试试小点的C。

用原本的代码计算小一点的。

#include<bits/stdc++.h>
using namespace std;
long long ans1=1,ans2=1,n,m;
int main(){cin>>n>>m;n+=m;for(long long i=n;i>=n-m+1;i--){ans1*=i;}for(long long i=m;i>=1;i--){ans2*=i;}cout<<ans1/ans2;return 0;
}

得 :

C_{0}^{0}=1

C_{1}^{1}=1 

C_{2}^{1}=2 C_{2}^{2}=1

C_{3}^{1}=3 C_{3}^{2}=3 C_{3}^{3}=1

C_{4}^{1}=4 C_{4}^{2}=6 C_{4}^{3}=4C_{4}^{4}=1

有点感觉了吗?

1
1         1
1         2 1
1         3 3 1
1         4 6 4 1

杨辉三角!

代码

写得代码

#include<bits/stdc++.h>
using namespace std;
long long n,a[11100][11000],m;
int main(){cin>>n>>m;n+=m;a[1][1]=1;a[1][2]=1;for(int i=2;i<=n;i++){for(int j=1;j<=n;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];}}cout<<a[n][n-m+1];return 0;
}

所以杨辉三角可不只是数学游戏和海题,在实际应用中有大用。例如在计算组合方案数的时候,C(n, m) = C(n-1,m) + C(n-1, m-1),从而避免了组合公式中的除法运算(除法运算的计算机代码要复杂很多,远远没有加法容易处理)。

我们下期再见。

http://www.ds6.com.cn/news/53187.html

相关文章:

  • 哈尔滨 网站建设外国搜索引擎登录入口
  • 网站代码怎么打开淘宝指数官网入口
  • 网站后台建设计划书百度在西安有分公司吗
  • 网站程序更换优书网首页
  • 团购网站APP怎么做做广告的怎么找客户
  • 电子商务网站开发的目的是什么如何查一个关键词的搜索量
  • 适合企业做外贸的几个网站seo好seo
  • 摄影网站建设策划完整方案seo线上培训班
  • 佛山外贸网站建设方案免费自动推广手机软件
  • 用table做的网站热词搜索排行榜
  • 做机械最好的b2b网站今日头条搜索引擎
  • 任县网站建设设计南昌seo搜索排名
  • 网站开发与客户交流百度拍照搜索
  • 做国珍新时代 网站长沙网站推广 下拉通推广
  • 巴州网站建设库尔勒网站建设钟爱网络深圳整合营销
  • 做网站构建关键词优化软件有哪些
  • 网站建设商家今日最新新闻摘抄
  • 互联网网站建设计划书百度app广告
  • 南京市玄武区建设局网站深圳百度开户
  • 政府网站建设和管理经验友情链接怎么连
  • 网站建设用dw上海专业seo公司
  • 网站开发 作品理念哈尔滨电话本黄页
  • 潍坊百度seoseo公司 引擎
  • 网站制作网站建站石家庄全网seo
  • 打开网站弹出窗口代码seo引擎优化培训
  • 网站开发需要学习什么信息流广告推广
  • .net双拼做公司网站网络营销广告策划
  • 婚庆网站开发的意义营销推广的特点
  • 龙江建网站怎么安装百度
  • 做网站 帮别人卖服务器今天的新闻