实验一 第2关:从自然数中取3个数进行组合之递归算法任务描述

这篇具有很好参考价值的文章主要介绍了实验一 第2关:从自然数中取3个数进行组合之递归算法任务描述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

任务描述
本关任务:用递归算法找出 5 个自然数中取 3 个数的组合。

编程要求
请在右侧编辑器Begin-End处补充代码,完成本关任务。

测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入:5 3 (n=5,r=3;,表示从1,2,3,4,5自然数中选择 3 个数)

预期输出:

5 4 3
5 4 2
5 4 1
5 3 2
5 3 1
5 2 1
4 3 2
4 3 1
4 2 1
3 2 1文章来源地址https://www.toymoban.com/news/detail-742004.html

#include <stdio.h>
int a[100];
void combrecur(int n, int r)
{
    /**********  Begin  **********/
    int i,j;
    for(i=n;i>=r;i--){ 
        a[r]=i;
        if(r>1){
            combrecur(i-1,r-1);
        }
        else{
            for(j=a[0];j>0;j--){
                printf("%d",a[j]);
                printf(" ");
            }
            printf("\n");
        }
    }
    /**********  End  **********/
}
void main()
{
    /**********  Begin  **********/
    int n,r;
    scanf("%d %d",&n,&r);
    if(n>r){
        a[0]=r;
        combrecur(n,r);
    }
    /**********  End  **********/
}

到了这里,关于实验一 第2关:从自然数中取3个数进行组合之递归算法任务描述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用连续自然数之和来表达整数(100%用例)C卷 (Java&&Python&&C++&&Node.js&&C语言)

    一个整数可以由连续的自然数之和来表示。给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式。 该整数的所有表达式和表达式的个数。如果有多种表达式,输出要求为: 1.自然数个数最少的表达式优先输出 2.每个表达式中按自然数递增的顺序输

    2024年01月16日
    浏览(40)
  • 关于vue的element的输入框el-input限输入只能是数字,包含小数,正数,自然数等等。

    关于element的输入框el-input限输入只能是数字,就是包括数字123456,小数的只能一个小数点,不能出现多个小数点,小数可以0开头,但是整数不能0开头,不能输入文字,不能输入负数,所以对于这个我做了两个判断,一个是正则判断,还有一个是0开头的整数判断,正则判断是只

    2024年02月12日
    浏览(56)
  • C语言整型转字符型和字符型转整型的简便且有效的方法(对于自然数)

    最近做到题目涉及数据类型的转换,查了很多资料,发现博客上的文章在此方面不全面,特别是在整型转成字符型上提供的方法不太好(指比较复杂),因此想做个总结。此方法主要涉及atoi,itoa和sprintf函数。 主要提供2种方法。 方法1:利用+‘0’将单个数字转字符 代码演示

    2024年02月15日
    浏览(42)
  • 算法:分治思想处理快排递归以及快速选择/最小K个数问题

    分治的原理就是分而治之,从原理上讲,就是把一个复杂的问题划分成子问题,再将子问题继续划分,直到可以解决 基于分治的原理进行快速排序,区别于传统的快速排序,这里对快速排序进行改良,成为更优先的三路划分算法,可以处理一些极端场景,使快速排序的适用性

    2024年02月10日
    浏览(55)
  • C/C++每日一练(20230421) 位1的个数、递归和非递归求和、俄罗斯套娃信封问题

    目录 1. 位1的个数  🌟 2. 递归和非递归求和  ※ 3. 俄罗斯套娃信封问题  🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C++每日一练 专栏 Java每日一练 专栏 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中

    2024年02月16日
    浏览(40)
  • 【LeetCode:216. 组合总和 III + 递归】

    🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文

    2024年04月25日
    浏览(59)
  • 递归实现 组合问题+排列问题(DFS)

    目录 递归实现排列型枚举 递归实现排列类型枚举 II  递归实现组合型枚举 递归实现组合型枚举 II 递归实现指数型枚举 递归实现指数型枚举 II 递归不是循环,递归利用了系统栈,只要是函数都会被系统管理。当执行到函数地址入口时就会为函数在系统栈上分配一块内存。当

    2024年02月15日
    浏览(44)
  • AcWing 93:递归实现组合型枚举 ← DFS

    【题目来源】 https://www.acwing.com/problem/content/95/ 【题目描述】 从 1∼n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。 【输入格式】 两个整数 n,m,在同一行用空格隔开。 【输出格式】 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行内的数升序排列,

    2024年02月14日
    浏览(43)
  • 递归算法学习——电话号码的字母组成,括号生成,组合

    目录 一,电话号码的字母组合 1.题意 2.例子 3.题目接口  4.解题代码和思路 代码: 思路: 二,括号的生成 1.题意 2.例子 3.题目接口 四,解题代码和思路 1.先写代码: 2.思路 三,组合 1.题意 2.例子 3.题目接口 4.解题代码 1.题意 给定一个仅包含数字  2-9  的字符串,返回所有

    2024年02月10日
    浏览(70)
  • acwing讲解篇之93. 递归实现组合型枚举

    本题相当于二叉树的深度优先遍历,树的第i层表示第i个数选或不选,当选择了m次左节点后退出 我们记录当前递归的深度deep 然后用state进行状态压缩,state第i位是1表示选第i个数,第i位是0表示不选第i个数 count表示我们选择数的个数 进行dfs 当前还能选择的数的个数即n - de

    2024年01月21日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包