C# 如何查找数字(在最小-最大范围内)和所有等于数字之和=一个数字的序列
输入: 数字中的位数 位数和 可以使用的数字范围 输出: 所有可能的数字,其中数字总和等于定义为输入的数字。 示例: 数字=4,和=12,范围=0-4 3 4 4 1 4 4 4 0 4 0 4 4 1 4 4 3 数字=5,和=18,范围=0-7 5 5 5 2 1 1 2 5 5 5 5 5 2 1 5 0 2 2 7 7 7 7 0 2 2 2 2 7 7 0 数字=3,和=20,范围=0-8 8 8 4 4 8 8 8 4 8 7 7 6 7 8 5 一般的方法算法是首选,然而,C语言可以选择解决C# 如何查找数字(在最小-最大范围内)和所有等于数字之和=一个数字的序列,c#,algorithm,C#,Algorithm,输入: 数字中的位数 位数和 可以使用的数字范围 输出: 所有可能的数字,其中数字总和等于定义为输入的数字。 示例: 数字=4,和=12,范围=0-4 3 4 4 1 4 4 4 0 4 0 4 4 1 4 4 3 数字=5,和=18,范围=0-7 5 5 5 2 1 1 2 5 5 5 5 5 2 1 5 0 2 2 7 7 7 7 0 2 2 2 2 7 7 0 数字=3,和=20,范围=0-8 8 8 4 4 8 8 8 4 8 7 7 6 7 8 5 一般的方法算法是首选,然而,C语言
关于如果我是你,我会使用递归,因为在1234和1235中,123的和是常见的,所以它不应该被计算多次 递归函数有两个主要规则: 最大递归深度=位数。 顶层用每个可能的数字调用下层 在您的情况下可能=位数范围 本练习中需要使用的内容: 递归的退出条件 给定范围内的循环 递归函数 某些类型的数组/列表需要注意,它们是按内存地址而不是按值复制的。
这应该足以编写程序,但要习惯StackOverflow中的一件事:复制A-Z解决方案并不是解决算法任务。作为一个简单的开始执行,我建议为您拥有的变量想出有用的名称。搜索c组合。您首先要编写代码以获得组合,然后添加测试算法以执行求和。这不是答案。复制a-Z解决方案并不是解决算法任务。问题可以通过多个循环通过蛮力解决,但这不是可缩放的解决方案,假设没有数字是23,则循环必须写入23次。等待一些独立于数字数量的魔法代码,将在用户输入时工作