Soviel zur Theorie ich weiß das der Code jenseits von Gut und Böse ist.
Ich wollte auch nur eine Funktionellen Code habe ihn auch versucht nach C zu portieren. Falls mal jemand mal drüber gucken möchte, bitte Tipps äußern bzw auch posten besonders Wege um das Python Programm efektivere zu machen.
Ich weiß auch das drei Primzahlen genauer sind zwei ist recht ungenau. Aber ich experimentiere nur damit rum

Code: Alles auswählen
#!/usr/bin/env python
#-*- coding: latin-1 -*-
import time
#
# Variablen
#
PRIMS = [9497,911]#,1567]#,136269,99961]#,1307,1567]
ID = 1234567890
IDmin = 1000000000
IDmax = 1999999999
#
# Encode
#
SCODE = []
for x in PRIMS:
a = ID % x
SCODE.append(a)
print SCODE
#
# Decode
#
st = time.time()
y = IDmin / PRIMS[0]
while y < (IDmax/PRIMS[0]):
y += 1
z = y * PRIMS[0] + SCODE[0]
if z % PRIMS[1] == SCODE[1]:
#if z % PRIMS[2] == SCODE[2]:
print z
#pass
print time.time()-st,"Sek\n"
Code: Alles auswählen
#include "stdio.h"
#include "time.h"
main()
{
int test = 0;
int PRIMa = 9497;
int PRIMb = 911;
int ID = 1234567890; // not needed
int IDmin = 1000000000;
int IDmax = 1999999999;
int SCODEa = 5375;
int SCODEb = 732;
int z = 0;
int y = IDmin / PRIMa;
while (y < (IDmax / PRIMb))
{
y += 1;
z = y * PRIMa + SCODEa;
if (z % PRIMa == SCODEb)
{
printf("Test: %i\n", z);
}
}
return 0;
}
Achso Zeit stoppen im C Code wäre interesannt wenn das jemand umsetzen kann würd mich das freuen.