Dies ist eine rekursive Version der gleichen Funktionen in C#:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication1Test
{
class Program
{
static char[] my_func( char[] my_chars, int level)
{
if (level > 1)
my_func(my_chars, level - 1);
my_chars[(my_chars.Length - level)]++;
if (my_chars[(my_chars.Length - level)] == ('Z' + 1))
{
my_chars[(my_chars.Length - level)] = 'A';
return my_chars;
}
else
{
Console.Out.WriteLine(my_chars);
return my_func(my_chars, level);
}
}
static void Main(string[] args)
{
char[] text = { 'A', 'A', 'A', 'A' };
my_func(text,text.Length);
Console.ReadKey();
}
}
}
Druckt von AAAA bis ZZZZ aus
0 Stimmen
Was wollen Sie damit erreichen? Je nach Ihrer Antwort ist es vielleicht besser, die Liste auf die Schnelle zu erstellen.
0 Stimmen
@John der Statistiker: Iterator-Blöcke verwenden tut die Liste nach und nach erstellen.
0 Stimmen
Dies kann bei der Erstellung einer naiven Brute-Force-Logik nützlich sein. Ich habe einmal etwas Ähnliches für einen Kurs gemacht, in dem wir eine Chiffre knacken mussten. Die analytische Technik war einfach, also habe ich auch ein Programm geschrieben, das an einem frühen Samstagmorgen das gesamte Computerlabor der Hochschule für ein paar Stunden in Anspruch nahm :)