计算组合数 汉诺塔 喵帕斯之天才算数少女 神奇的函数
计算组合数
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;
}
计算组合数 汉诺塔 喵帕斯之天才算数少女 神奇的函数相关推荐
- 喵帕斯之天才算数少女
喵帕斯之天才算数少女 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 莲酱要上一年级了,但是老师给他出了一个特别难的算术 ...
- SDUT 4123 喵帕斯之天才算数少女
1.题目 喵帕斯之天才算数少女 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 莲酱要上一年级了,但是老师给他出了一个特 ...
- oj 喵帕斯之天才算数少女
SDUT 7-4 喵帕斯之天才算数少女 (20 分) 莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n= ...
- 7-5 喵帕斯之天才算数少女 (20 分)
题目描述: 莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n=0,返回F(m-1,1). 若m>0 ...
- C 喵帕斯之天才算数少女 SDUT
Description 莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n=0,返回F(m-1,1). 若 ...
- C - 喵帕斯之天才算数少女
Description 莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n=0,返回F(m-1,1). 若 ...
- 程序设计基础II-实验4-递归算法设计 7-5 喵帕斯之天才算数少女
莲酱要上一年级了,但是老师给他出了一个特别难的算术题. 老师给出了一个函数 F(m, n)的定义是: 若m=0,返回n+1. 若m>0且n=0,返回F(m-1,1). 若m>0且n> ...
- SDUT喵帕斯之天才算数少女
代码实现: #include <stdio.h> #include <stdlib.h> #include <string.h> int f(int m,int n ...
- C语言实现汉诺塔问题(保姆式讲解)
前言: 大家好,又是再一次分享文章,我十分感谢各位能够点开这篇花费我颇多时间才解决的汉诺塔问题,接下来我就要分享一下自己的所思所想,希望能给各位带来一些不一样的收获吧. 提醒: 汉诺塔问题的本质是函数 ...
最新文章
- 如何在html页面循环回显数据,从while循环显示数据到html代码
- 科学家揭秘大脑靠“旋转”区分过去和现在,还给了个AI架构设计新思路 | Nature子刊...
- go语言中没有隐藏的this指针
- Mac 技术篇-Geany编辑器批量设置制表符为空格,geany设置默认制表符替换为空格
- 【渝粤教育】国家开放大学2019年春季 1062文学英语赏析 参考试题
- 小企业服务器设置位置,小企业服务器配置
- VC++任意格式时间字符串转换为CTime类型以及计算时差
- 修改pom文件_自动化测试基础篇:Selenium 框架设计(POM)
- python连接数据库的技术_(技术)Python 3 与 pymysql 操作数据库
- 开发者强势围观!Gartner 发布 2020 年十大战略科技发展趋势
- python获取每月的最后一天_关于日期:使用Python获取本月的最后一天
- v$session,v$session_wait,v$session_wait_history,v$active_session_history
- 研发项目如何配置看板的任务流转
- 深度竞品分析:阿里旗下闲鱼与58旗下转转
- C++中智能指针-atuo_ptr、unique_ptr
- 笔记本显示电源已连接但是未充电的简单解决办法
- git 远程仓库和本地仓库建立连接
- php+mysql实现简易博客系统
- 浙大版《C语言程序设计(第3版)》题目集习题4-11 兔子繁衍问题 (15 分)
- 在微信H5网页中获取用户基本信息