Skip to content

Instantly share code, notes, and snippets.

@d630
Last active June 6, 2018 15:43
Show Gist options
  • Save d630/de3e19bb0513875a09633ba5eca02e23 to your computer and use it in GitHub Desktop.
Save d630/de3e19bb0513875a09633ba5eca02e23 to your computer and use it in GitHub Desktop.
Ziffernfolge generieren etc.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace csharp
{
class Program
{
private string getLand(long ziffernfolge)
{
char[] land = new char[3];
long[,] z = {
{ 0, 0 },
{ 0, 2300 },
{ 0, 54 },
{ 0, 91 },
{ 0, 91 }
};
z[0,0] = ziffernfolge;
for (int i = 1; i < z.GetLength(0); i++)
z[i,0] = (z[i - 1,0] - (int) z[i - 1,0]%z[i,1]) / z[i,1];
land[2] = (char) (z[2,0] % z[3,1]);
land[1] = (char) (z[3,0] % z[4,1]);
land[0] = (char) z[4,0];
return new string(land);
}
private long generateCode(int kdnr, string datum)
{
string herkunft = getHerkunft(kdnr);
string KWJahr = getKWJahr(datum);
return (long)
(
(
// TODO(d630): interesting …
(Convert.ToInt32(herkunft[0]) * 91 + Convert.ToInt32(herkunft[1])) * 91
+ Convert.ToInt32(herkunft[2])
) * 54
+ int.Parse(KWJahr.Substring(0, 2))
) * 2300
+ int.Parse(KWJahr.Substring(2, 4));
}
private string getHerkunft(int kdnr)
{
// XXX
return "GER";
}
private string getKWJahr(string datum)
{
// wwYYYY
return "392011";
}
static void Main(string[] args)
{
Program p = new Program();
Console.WriteLine("ziffernfolge ist: " + p.generateCode(1234567890, "2011-09-26"));
Console.WriteLine("land ist: " + p.getLand(p.generateCode(1234567890, "2011-09-26")));
Console.ReadKey();
}
}
}
@d630
Copy link
Author

d630 commented Jun 6, 2018

Unterschiede hier zu Java u.a.:

  • 2D-Array indexing
  • GetLength(int)
  • herkunft[int]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment