鱼羊hashas 2022-06-12 15:11 采纳率: 33.3%
浏览 53
已结题

全都要用简单的递归完成,不能出现特别高级的东西

#40. hanoi(汉诺塔)
ID: 40
传统题
1000ms
256MiB
上传者:

root
题目描述
汉诺塔由三根柱子(分别用A、B、C表示)和n个大小互不相同的空心盘子组成。

一开始n个盘子都摞在柱子A上,大的在下面,小的在上面,形成了一个塔状的锥形体。

对汉诺塔的一次合法的操作是指:从一根柱子的最上层拿一个盘子放到另一根柱子的最上层,同时要保证被移动的盘子一定放在比它更大的盘子上面(如果移动到空柱子上就不需要满足这个要求)。我们可以用两个字母j加一个箭头来描述一次操作:第一个字母代表起始柱子,第二个字母代表目标柱子。例如,A->B就是把柱子A最上面的那个盘子移到柱子B。汉诺塔的游戏目标是将所有的盘子从第一根柱子移动到第三根柱子上面。

输入格式
一行 ,4个变量,分别表示 汉诺塔层数 n,第一根柱子A,第二根柱子B,第三根柱子C,其中n不大于10,A,B,C是不重复的大写字母

输出格式
若干行,每一行表示移动一次的步骤,直到将所有的盘子从第一根柱子移动到第三根柱子上面。

样例
输入样例1
3 A B C
输出样例1
A->C
A->B
C->B
A->C
B->A
B->C
A->C
输入样例2
2 Q W E
输出样例2
Q->W
Q->E
W->E

#41. 输出公式1
ID: 41
传统题
1000ms
256MiB
上传者:

root
题目描述
输出n+n-1+n-2一直加到+1

输入格式
一行,一个数字n

输出格式
一行,n+n-1+n-2一直加到+1

样例
输入样例1
7
输出样例1
7+6+5+4+3+2+1

#42. 输出公式2
ID: 42
传统题
1000ms
256MiB
上传者:

root
题目描述
输出 1+2+3+4一直加到n

输入格式
一行,一个数字n

输出格式
一行,1+2+3一直加到n

样例
输入样例1
7
输出样例1
1+2+3+4+5+6+7

#43. 递归生成字典
ID: 43
传统题
1000ms
256MiB
上传者:

root
题目描述
输出一个深度为n的字典

输入格式
一个整数n,且n>1

输出格式
一个深度为n的字典;字典{1: {}} 的深度为2,字典{1: {2: {}}} 的深度为3,以此类推

样例
输入样例:
3
输出样例:
{1: {2: {}}}

#44. 小码君的进制转换
ID: 44
传统题
1000ms
256MiB
上传者:

root
题目描述
小码君在今天新学了一招进制转换,通过数组和递归的结合,在一瞬间就能求出十进制转成任何进制,你也来试试吧。

以上为本题原版本,后来因为xx在课堂中讲解了此题,故此题正确版本如下

小码君在今天新学了一招进制转换,通过数组和递归的结合,在一瞬间就能求出任何进制转成十进制(<=16),你也来试试吧。

仁慈的程在考虑后,选择再次降低题目难度,修改为如下

小码君在今天新学了一招进制转换,通过数组和递归的结合,在一瞬间就能求出任何进制转成十进制(<9),你也来试试吧。

仁慈的程在考虑后,发现可能班上没几个做得出来,决定按照最初的题目,将其公布供大家测试。

小码君在今天新学了一招进制转换,通过数组和递归的结合,在一瞬间就能求出十进制转成任何进制,你也来试试吧。

输入格式
一行两个数,第一个十进制数X,第二个为进制M。

输出格式
输出结果。

样例
样例输出
31 16
样例输出
1F
数据范围与提示
超过10进制的表示方法,10用大写字母A来表示,11用大写字母B来表示,后面依次类推
对于 100%100% 的数据,2 \leq n \leq 2^{31}2≤n≤2
31

对于 100%100% 的数据,1 \leq m \leq 161≤m≤16。

#45. 小码君的F91函数
ID: 45
传统题
1000ms
256MiB
上传者:

root
题目描述
小码君是一个很出名的计算机科学家。有一天,他研究出一个有趣的函数,叫"F91"。然而小码君的电脑坏了,所以你来编一个程序来研究这个神奇的函数。
函数功能如下:
如果 n≤100 则 f91(n)=f91(f91(n+11))
如果 n≥101 则 f91(n)=n-10

输入格式
输入若干个正整数n(n≤250000) 直到n=0停止

输出格式
每行对于每个n,输出 f91(n) = (等号两边有空格)

样例
输入样例
500
91
0
输出样例
f91(500) = 490
f91(91) = 91

#46. 小码君跳楼梯
ID: 46
传统题
1000ms
256MiB
上传者:

root
题目描述
山上有一洞,小码君每次采取跳1阶或者跳3阶的办法从山下跳跃上台阶进洞。编程实现:输入台阶数n,输出共有多少种不同的跳法?

输入格式
只有一行且只有一个正整数:n ,代表台阶数。( 1 <= n <= 50 )

输出格式
只有一行且只有一个整数,代表有多少种跳法。

样例
输入样例
7
输出样例
9

展开全部

  • 写回答

4条回答 默认 最新

  • 关注

    题目好多啊,对答案满意的话。麻烦给采纳一下!谢谢! 你之前的题目都没有采纳, 也请采纳一下!

    1. #include<iostream>
    2. using namespace std;
    3. void Hanoi(int N,char Src,char tmp,char Dst)
    4. {
    5. if(N == 1){
    6. cout<< Src << "->" << Dst<<endl;
    7. return;
    8. }
    9. Hanoi(N-1,Src,Dst,tmp);//先将A->B,用C中转
    10. cout << Src << "->" << Dst<<endl; //再将 A->C
    11. Hanoi(N-1,tmp,Src,Dst);//最后将B->C,用A中转
    12. }
    13. int main()
    14. {
    15. int n;
    16. char a,b,c;
    17. scanf("%d %c %c %c", &n, &a, &b, &c);
    18. Hanoi(n,a,b,c);
    19. return 0;
    20. }

    img

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

    2

    1. #include<iostream>
    2. using namespace std;
    3. void pft(int n)
    4. {
    5. if(n == 1){
    6. cout << n;
    7. return;
    8. }
    9. cout << n << "+";
    10. pft(n-1);
    11. }
    12. int main()
    13. {
    14. int n;
    15. cin >> n;
    16. pft(n);
    17. return 0;
    18. }

    img

    回复

    3

    1. #include<iostream>
    2. using namespace std;
    3. void pft(int n)
    4. {
    5. if(n == 1){
    6. cout << n;
    7. return;
    8. }
    9. pft(n-1);
    10. cout << "+" << n;
    11. }
    12. int main()
    13. {
    14. int n;
    15. cin >> n;
    16. pft(n);
    17. return 0;
    18. }

    img

    回复

    4

    1. #include<iostream>
    2. using namespace std;
    3. void pft(int s,int n)
    4. {
    5. if(s == n){
    6. cout << "{}";
    7. return;
    8. }
    9. cout << "{" << s << ":";
    10. pft(s+1,n);
    11. cout << "}";
    12. }
    13. int main()
    14. {
    15. int n;
    16. cin >> n;
    17. pft(1,n);
    18. return 0;
    19. }

    img

    回复
    展开全部6条评论
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 6月20日
  • 已采纳回答 6月13日
  • 请提交代码 6月12日
  • 创建了问题 6月12日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部