#include<stdio.h>
unsigned long f(unsigned short m, unsigned short n);
int main()
{/* 考虑到用户可能输入负数, 将m、n声明为short类型更稳妥 *//* 虽然f函数的两个参数均为unsigned short类型, 但实际最大值 = short类型的最大正数值 */short m;short n;/* 考虑到排列数可能较大, 用unsigned long类型声明更合适 */unsigned long result;/* 输入容错机制 */while(scanf("%hd%hd", &m, &n) != 2 || m < 1 || n < 0){while(getchar() != '\n') ;printf("请输入合法数据.\n");}result = f(m, n);if(result != 0){printf("A(%hd, %hd) = %lu.\n", m, n, result);}else{/* 数据不合法 */printf("A(m, n): m >= n!\n");}/* */return 0;
}
/* 计算A(m, n) */
unsigned long f(unsigned short m, unsigned short n)
{/* 数据不合法 */if(n > m){return 0;}/* */unsigned long S = 1;/* S = m * (m - 1) * (m - 2) * ... * (m - n + 1) */unsigned short i = m;while(i >= m - n + 1){S *= i;i --;}/* 有趣的是, 如果n == 0, 那么循环一次都不执行, 最终结果确实也为1 */return S;
}

计算排列数A(m, n)相关推荐

  1. python计算排列数 组合数

    组合排列介绍 一.编写函数计算组合数CniC^{i}_{n}Cni​. def Combinatorial(n,i):'''设计组合数'''#n>=iMin=min(i,n-i)result=1 ...

  2. C语言计算排列数和组合数

    #include <stdio.h> int main(int argc, char *argv[]) {printf("%d \n",a(3,8));printf(& ...

  3. MATLAB计算阶乘、排列数与组合数

    在1500件产品中有400件次品,1100件正品,任取200件 求恰有90件次品的概率; 求至少有两件次品的概率. 这是一道古典概型的概率问题,题目比较简单,很容易求得概率,其中 但是,计算量较大,于 ...

  4. 计算排列组合数-python

    使用scipy计算排列组合的具体数值 from scipy.special import comb, permperm(3,2) #计算排列数 6comb(3,2) #计算组合数 3 自己写一个计算排 ...

  5. python计算排列组合数

    一.编写函数计算组合数 def Combinatorial(n,i):'''设计组合数'''#n>=iMin=min(i,n-i)result=1for j in range(0,Min):#由 ...

  6. 排列数A(n, m)的计算

    排列数是在n个互不相同的数中选出m个能组成的不同次序的排列的方案数. 公式上就等于组合数*全排列,即A(n, m) = n! / (n-m)! 可以说是a1*a2*a3--*am,ai = n-m+i ...

  7. 【组合数学】排列组合 ( 多重集排列 | 多重集全排列 | 多重集非全排列 所有元素重复度大于排列数 | 多重集非全排列 某些元素重复度小于排列数 )

    文章目录 一.多重集 二.多重集全排列 三.多重集全排列示例 三.多重集非全排列 1 所有元素重复度大于排列数 ( ni≥rn_i \geq rni​≥r ) 四.多重集非全排列 2 某些元素重复度小 ...

  8. 【算法】组合数学——排列数生成算法详解(一)

    组合数学中的全排列深成算法历来是组合数学考试的重要考察点,因此在这里我简单的介绍一下6种全排列生成算法的详细过程,并借此比较它们之间的优劣之处. 不论是哪种全排列生成算法,都遵循着"原排列& ...

  9. 【组合数学】指数生成函数 ( 指数生成函数概念 | 排列数指数生成函数 = 组合数普通生成函数 | 指数生成函数示例 )

    文章目录 一.指数生成函数 二.排列数指数生成函数 = 组合数普通生成函数 三.指数生成函数示例 参考博客 : 按照顺序看 [组合数学]生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常 ...

最新文章

  1. 月薪30k~50k,这个领域的人才正在被疯抢!
  2. 使用Visual Studio重构与分析Python
  3. SEO优化可以从这几个方面着手
  4. 将服务器get到的响应打印,得到HttpResponse的响应主体
  5. Android 6.0 API
  6. 博弈论重要算法:Sprague-Grundy 定理 (SRM 561 Div1 550)
  7. [C++] 栈 和 队列
  8. 应用虚拟化之规划篇二 项目流程规划
  9. 学习 nltk —— TF-IDF
  10. Linux下制作虚拟软盘镜像
  11. 使用 MTR 分析网络延迟及丢包
  12. 圆通问题频发背后的“罪与罚”
  13. win11怎么关闭触控板?win11关闭触控板的三种解决方法
  14. 应用程序正常初始化000007b失败
  15. (2021)建筑能耗模拟的灰箱建模与应用——综述
  16. timenote时光笔记+android,Time Note时光笔记软件怎么样?Time Note时光笔记有哪些功能特色?...
  17. 10. 微型计算机常用的显示器有哪几类及其工作原理,四川自考07311《多媒体技术》全真模拟试题(十)...
  18. SQL Server基础操作(此随笔仅作为本人学习进度记录六 !--程序块和循环)
  19. 计算机处理器份额,2020 年电脑处理器排行榜单出炉
  20. Java + OpenCV 对图像进行水平投影和竖直投影

热门文章

  1. DNS拨测shell脚本
  2. NUC972平台XR819驱动及内核更改
  3. 机器学习实战--5.支持向量积
  4. [Codewar训练]Longest Common Subsequence(Performance version)(最长子序)
  5. Grafana:创建用户以及用户分组权限管理
  6. 高通 Camera HAL3:CAMX、CHI-CDK 详解
  7. 上证上市数据可视化分析展示
  8. 手机待机功耗测试软件,移动端相关功耗测试杂谈
  9. matlab求拟合曲线每一点的值,Matlab曲线拟合和插值
  10. EXCEL 中自定义函数的应用(关于 XOR 在 EXCEL 中的用法 及 文本型数字求和)