Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何查找数字(在最小-最大范围内)和所有等于数字之和=一个数字的序列_C#_Algorithm - Fatal编程技术网

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语言

输入:

数字中的位数 位数和 可以使用的数字范围 输出:

所有可能的数字,其中数字总和等于定义为输入的数字。 示例:

数字=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次。等待一些独立于数字数量的魔法代码,将在用户输入时工作