gpt4 book ai didi

c# - 将此嵌套 for 循环更改为递归

转载 作者:行者123 更新时间:2023-11-30 23:16:41 26 4
gpt4 key购买 nike

<分区>

我发布了 this similar, previous question , 但我不是很清楚。

我有以下代码:

int N=4;
int[] myArray = new int[N];
for (int i1 = 1; i1 < N; i1++)
myArray[0]=i1;
for (int i2 = 1; i2 < N; i2++)
myArray[1]=i2;
for (int i3 = 1; i3 < N; i3++)
myArray[2]=i3;
for (int i4 = 1; i4 < N; i4++)
{
myArray[3]=i4;

foreach (var item in myArray)
Console.Write(item.ToString());
Console.Write(Environment.NewLine);
}

输出如下:

1111
1112
1113
1121
1122
1123
1131
....
3332
3333

有没有一种简单的方法可以将这个嵌套的 for 循环更改为递归?我不太擅长编程,所以越简单越好。我不担心代码的效率如何。

实际上,我希望能够将我代码中的 int N 更改为不同的数字,而不必在我的代码中添加或删除任何内容。

编辑

这是我目前所拥有的:

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sandbox
{
class Program
{

static void Main(string[] args)
{
int class_length = 4;
int[] toric_class = Enumerable.Repeat(1, class_length).ToArray();
Recursion(toric_class, class_length, 1, 3);

Console.Read();
}
static void Recursion(int[] toric_class, int length, int number, int spot)
{
if (number < 4)
{
toric_class[spot] = number;
foreach (var item in toric_class)
{
Console.Write(item.ToString());
}
Console.Write(Environment.NewLine);
Recursion(toric_class, length, number + 1, spot);
}
}
}
}

这只会输出

1111
1112
1113

我不确定从这里到哪里去。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com