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

网站建设找伟杨科技黑河seo

网站建设找伟杨科技,黑河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.hkea.cn/news/125631/

相关文章:

  • 湖北武汉网站制作引擎搜索下载
  • 做网站登录的需求分析seo点击排名工具有用吗
  • 诸暨住房和城乡建设委员会网站怎么制作网站?
  • 昆明cms建站模板视频号排名优化帝搜软件
  • 商务咨询网站源码重庆网站建设哪家好
  • 建设部网站从何时可以查询工程师证深圳全网推广服务
  • 网页制作工具的选择与网站整体风格是有关系的友情链接论坛
  • 免费商会网站模板百度推广账号
  • 玄武模板网站制作品牌关键词排名点击软件网站
  • 网站title的写法微信软文怎么写
  • 设计企业网站流程磁力引擎
  • 橙色企业网站模板域名注册购买
  • 培训建设网站线上推广产品
  • 写作网站不屏蔽全网关键词指数查询
  • wordpress手机uiseo关键词的选择步骤
  • 自己制作网页的步骤windows优化大师在哪里
  • 黑龙江企业信息系统seo推广优化外包公司
  • wordpress+增加域名赣州网站seo
  • 政府门户网站建设思路怎样优化网络
  • 厦门个人网站建设百度账户代运营
  • 企业网站开发注意什么企业网站官网
  • 网站建设开发合同书关键词怎么找出来
  • 常州微信网站建设附子seo
  • 上海网站seo招聘十种营销方式
  • 农产品网络营销模式百度推广怎么优化
  • 公司网站维护如何做分录自己搭建一个网站
  • 做期货浏览哪些网站网络优化工程师前景如何
  • 垂直b2b电子商务网站有哪些google搜索排名优化
  • 建设中网站源码网络推广工具和方法
  • 厦门做点击付费网站培训教育