1. 组合数公式: C(n, k) =C(n-1, k) +C(n-1, k-1) 要求利用该公式写递归函数求组合数。

#include <stdio.h>

int C(int a,int b)
{
if(a==b||b==)
return ;
else
return C(a-,b)+C(a-,b-);
}
int main()
{
int n,k;
int s;
while(scanf("%d%d",&n,&k)!=EOF)
{
s=C(n,k);
printf("%d\n",s);
}
return ;
}
---------------------
原文:https://blog.csdn.net/rating_/article/details/84034728
# -*- coding:utf-8 -*-
# 用python实现排列组合C(n,m) = n!/m!*(n-m)!
def get_value(n):
if n==1:
return n
else:
return n * get_value(n-1) def gen_last_value(n,m):
first = get_value(n)
print("n:%s value:%s"%(n, first))
second = get_value(m)
print("n:%s value:%s"%(m, second))
third = get_value((n-m))
print("n:%s value:%s"%((n-m), third))
return first/(second * third) if __name__ == "__main__":
# C(12,5)
rest = gen_last_value(5,3)
print("value:", rest)
# 本方法的流程:(5,3),first=5*4*3*2*1;second=3*2*1;third=first/second
# -*- coding:utf-8 -*-
# 用python实现排列组合C(n,m) = n!/m!*(n-m)!
def get_value(n):
if n==b:
return n
else:
return n * get_value(n-1)
def get_value_m(m):
if m==1:
return m
else:
return m * get_value_m(m-1) def gen_last_value(n,m):
first = get_value(n)
print("n:%s value:%s"%(n, first))
second = get_value_m(m)
print("n:%s value:%s"%(m, second))
return first/second if __name__ == "__main__":
n = int(input('num n:'))
m = int(input('num m:'))
b = n-m+1
rest = gen_last_value(n,m)
print("value:", rest)
#举例:C(5,3);get_value(n)输出:5*4*3】【get_value_m输出:3*2*1】【gen_last_value=first/second

升级版

practice01的更多相关文章

  1. js练习-控制div属性

    要开始练练js了,决定先按照Ferris大大的索引表一个个练,头一个就是控制div属性啦.看似挺简单的,不过平时jquery用惯了,用起来原生js还有点手生呢. 总之就是模仿加练习啦,先看看效果: 一 ...

  2. VS2010如何在同一个解决方案下建立多个项目以及切换运行不同项目

    前言: 在编一些小程序时,往往我们不需要一个问题就建立一个解决方案,我们完全可以让多个项目放在同一个解决方案下,切换启动项运行即可.接下来介绍具体的步骤 一.建立空白解决方案以及添加新项目 1.先建立 ...

  3. Java中将文件夹复制到另一个文件夹

    文件夹的拷贝*** public static void copyDir(String sourcePath, String newPath) { File start = new File(sour ...

  4. 【Spark】【RDD】初次学习RDD 笔记 汇总

    RDD Author:萌狼蓝天 [哔哩哔哩]萌狼蓝天 [博客]https://mllt.cc [博客园]萌狼蓝天 - 博客园 [微信公众号]mllt9920 [学习交流QQ群]238948804 目录 ...

  5. JavaWeb学习day6-Response初学

    web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpSevletRequest对象,代表响应的一个HttpSevletResponse 如果要获取客户端请求过来的数据, ...

  6. 【java】学习路径37-练习:任意文件的复制

    使用字节完成复制 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException ...

随机推荐

  1. Windows Tomcat 日志输出到 catlina.out 按日期输出,自启动

    配置tomcat和jdk环境变量 CATALINA_BASE D:\ApacheSoftwareFoundation\Tomcat8.5 CATALINA_HOME D:\ApacheSoftware ...

  2. 简述在ADO中使用接口的抽象数据提供程序以及ADO.NET数据提供程序工厂模型

    如何在ADO中使用接口的抽象数据提供程序 在cofig中 appSettings下,配置数据连接类型 <appSettings> <!--这个键值映射到枚举值中的某个值--> ...

  3. Redis 过期键删除策略

    Redis 中数据库键的过期时间都保存在过期字典中,当一个键过期了,Redis 存在三种不同的删除策略:定时删除.惰性删除和定期删除 定时删除 定义 在设置键的过期时间的同时创建一个计时器,让定时器在 ...

  4. CSS3制作上下跳动动画箭头效果

    动画效果如下: 代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8&q ...

  5. 第七课 路径与列表 html5学习2

    1.路径 一.相对路径1.同级路径2.下级路径 /3.上级路径 ../上一级路径 ../../上两级二.绝对路径 2.列表 列表特点;整齐.整洁.有序 一.无序列表语法格式<ul> < ...

  6. weblogic 安全漏洞 CVE-2017-5638

    关于安全漏洞 CVE-2017-5638 的 Weblogic Server 防护建议 关于Weblogic Server如何防护防止近期爆出的Struts 2远程代码执行安全漏洞,为您提供以下内容参 ...

  7. Android Studio工程项目打包成SDK(jar或aar格式)

    Android工程项目打包成SDK 在app的gradle下进行设置: (1)将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com ...

  8. 如何快速清理 docker 资源

    如果经常使用 docker,你会发现 docker 占用的资源膨胀很快,其中最明显也最容易被察觉的应该是对磁盘空间的占用.本文将介绍如何快速的清理 docker 占用的系统资源,具体点说就是删除那些无 ...

  9. 利用ZYNQ SOC快速打开算法验证通路(6)——利用AXI总线实时配置sysGen子系统

    利用ZYNQ验证算法的一大优势在于,可以在上位机发送指令借助CPU的控制能力和C语言易开发特点,实时配置算法模块的工作模式.参数等对来对其算法模块性能进行全面的评估.最重要的是无需重新综合硬件模块. ...

  10. vs code使用Git

    做一夜的搬运工:https://www.cnblogs.com/richard1015/p/8336429.html