Also bei der Programmieraufgabe hab ich nen anderen Lösungsansatz gewählt:
ich hab das ganze mal in c# programmiert:
private String Erzeuge_Rechnungsnummer()
{
String rechnungsnummer = "";
Int64 nummer = 0;
int quersumme = 0;
do
{
for (int i = 0; i < 8; i++)
{
int randomNumber = Erzeuge_Zufallszahl();
quersumme += randomNumber;
nummer += randomNumber * (int) Math.Pow(10, i);
}
nummer = nummer * 100;
nummer = nummer + 98 - quersumme;
} while(Enthaelt_Rechnungsnummer(rechnungsnummer));
rechnungsnummer = "RB" + nummer;
return rechnungsnummer;
}