计算组合数

Time Limit: 1000 ms Memory Limit: 32768 KiB

Submit Statistic

Problem Description

计算组合数。C(n,m),表示从n个数中选择m个的组合数。
计算公式如下:
若:m=0,C(n,m)=1
否则, 若 n=1,C(n,m)=1
否则,若m=n,C(n,m)=1
否则 C(n,m) = C(n-1,m-1) + C(n-1,m).

Input

第一行是正整数N,表示有N组要求的组合数。接下来N行,每行两个整数n,m (0 <= m <= n <= 20)。

Output

输出N行。每行输出一个整数表示C(n,m)。

Sample Input

3
2 1
3 2
4 0

Sample Output

2
3
1

#include<stdio.h>
#include<stdlib.h>
int f(int n,int m)
{if(m==0)return 1;else{if(n==1)return 1;else{if(m==n)return 1;else return f(n-1,m-1)+f(n-1,m);}}
}
int main()
{int n,t,m;scanf("%d",&t);while(t--){scanf("%d %d",&n,&m);printf("%d\n",f(n,m));}

汉诺塔

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

汉诺塔(又称河内塔)问题是印度的一个古老的传说。

开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。

僧侣们搬得汗流满面,可惜当n很大时这辈子恐怕就很搬完了。

聪明的你还有计算机帮你完成,你能写一个程序帮助僧侣们完成这辈子的夙愿吗?

Input

输入金片的个数n。这里的n<=10。

Output

输出搬动金片的全过程。格式见样例。

Sample Input

2

Sample Output

Move disk 1 from A to B
Move disk 2 from A to C
Move disk 1 from B to C

 #include <stdio.h>
void mov(int n,char A,char B,char C)
{if(n==1)printf("Move disk %d from %c to %c\n",n,A,C);else{mov(n-1,A,C,B);printf("Move disk %d from %c to %c\n",n,A,C);mov(n-1,B,A,C);}
}
int main()
{int n;scanf("%d", &n);mov(n,'A','B','C');return 0;
}

汉诺塔的思路:从第三步往上,每次都需要将n-1个先用到B上,然后再把第n个移动到C上;最后把B上的n-1;个再移动到C上

莲酱要上一年级了,但是老师给他出了一个特别难的算术题。

老师给出了一个函数

F(m, n)的定义是:

若m=0,返回n+1。

若m>0且n=0,返回F(m-1,1)。

若m>0且n>0,返回F(m-1,F(m,n-1))。

给出 m 和 n,计算 F(m, n) 的值。

Input

多组输入直到EOF结束。(数据组数小于 10)

每组数据输入一行,包含两个非负整数 m,n。(0 <= m <= 3, 0 <= n <= 10)

Output

每组数据输出一行,为 F(m, n) 的答案

Sample Input

3 2
3 10
2 1

Sample Output

29
8189
5

#include<stdio.h>
#include<stdlib.h>int F(int m,int n){if(m==0)return n+1;if(m>0&&n==0)return F(m-1,1);if(m>0&&n>0)return F(m-1,F(m,n-1));}
int main()
{int m,n;while(scanf("%d %d",&m,&n)!=EOF){printf("%d\n",F(m,n));}return 0;
}

神奇的函数

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

神奇的函数是这样被定义的:
F(n, m) = {
if(n == 1 || m == 1)
F(n, m) = 1;
else
F(n, m) = F(n-1, m) + F(n, m-1);
}

Input

多组输入。

每组两个以空格分隔的整数 n, m (1 <= n, m <= 10)。

Output

对于每组数据,输出一个整数表示 F(n, m) 的值。

Sample Input

1 2

Sample Output

1

 #include<stdio.h>
#include<stdlib.h>
int F(int n,int m)
{if(n==1||m==1)return 1;elsereturnF(n-1,m)+F(n,m-1);
}
int main()
{int n,m;
while(scanf("%d %d",&n,&m)!=EOF)
{printf("%d\n",F(n,m));
}return 0;
}

计算组合数 汉诺塔 喵帕斯之天才算数少女 神奇的函数相关推荐

  1. 喵帕斯之天才算数少女

    喵帕斯之天才算数少女 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 莲酱要上一年级了,但是老师给他出了一个特别难的算术 ...

  2. SDUT 4123 喵帕斯之天才算数少女

    1.题目 喵帕斯之天才算数少女 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 莲酱要上一年级了,但是老师给他出了一个特 ...

  3. oj 喵帕斯之天才算数少女

    SDUT 7-4 喵帕斯之天才算数少女 (20 分) 莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n= ...

  4. 7-5 喵帕斯之天才算数少女 (20 分)

    题目描述: 莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n=0,返回F(m-1,1). 若m>0 ...

  5. C 喵帕斯之天才算数少女 SDUT

    Description 莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n=0,返回F(m-1,1). 若 ...

  6. C - 喵帕斯之天才算数少女

    Description 莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n=0,返回F(m-1,1). 若 ...

  7. 程序设计基础II-实验4-递归算法设计 7-5 喵帕斯之天才算数少女

    莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n=0,返回F(m-1,1). 若m>0且n> ...

  8. SDUT喵帕斯之天才算数少女

    代码实现: #include <stdio.h> #include <stdlib.h> #include <string.h> int f(int m,int n ...

  9. C语言实现汉诺塔问题(保姆式讲解)

    前言: 大家好,又是再一次分享文章,我十分感谢各位能够点开这篇花费我颇多时间才解决的汉诺塔问题,接下来我就要分享一下自己的所思所想,希望能给各位带来一些不一样的收获吧. 提醒: 汉诺塔问题的本质是函数 ...

最新文章

  1. 如何在html页面循环回显数据,从while循环显示数据到html代码
  2. 科学家揭秘大脑靠“旋转”区分过去和现在,还给了个AI架构设计新思路 | Nature子刊...
  3. go语言中没有隐藏的this指针
  4. Mac 技术篇-Geany编辑器批量设置制表符为空格,geany设置默认制表符替换为空格
  5. 【渝粤教育】国家开放大学2019年春季 1062文学英语赏析 参考试题
  6. 小企业服务器设置位置,小企业服务器配置
  7. VC++任意格式时间字符串转换为CTime类型以及计算时差
  8. 修改pom文件_自动化测试基础篇:Selenium 框架设计(POM)
  9. python连接数据库的技术_(技术)Python 3 与 pymysql 操作数据库
  10. 开发者强势围观!Gartner 发布 2020 年十大战略科技发展趋势
  11. python获取每月的最后一天_关于日期:使用Python获取本月的最后一天
  12. v$session,v$session_wait,v$session_wait_history,v$active_session_history
  13. 研发项目如何配置看板的任务流转
  14. 深度竞品分析:阿里旗下闲鱼与58旗下转转
  15. C++中智能指针-atuo_ptr、unique_ptr
  16. 笔记本显示电源已连接但是未充电的简单解决办法
  17. git 远程仓库和本地仓库建立连接
  18. php+mysql实现简易博客系统
  19. 浙大版《C语言程序设计(第3版)》题目集习题4-11 兔子繁衍问题 (15 分)
  20. 在微信H5网页中获取用户基本信息

热门文章

  1. vue路由跳转清空数据
  2. 本地连接受限制或无连接怎么办
  3. 从算法上解读自动驾驶是如何实现的?
  4. SessionStorage如何存放对象
  5. ITSS认证是什么认证
  6. 微信小程序红包(优惠劵)弹窗的实现
  7. h5页面在安卓手机浏览器上不能上下移动的问题
  8. 网络基础知识 TCP UDP IP
  9. Android Q适配攻略(四)(后台Activity启动限制)
  10. python numpy矩阵的数据类型转换