recimo 259665 = 1555*a+781*b+341*c+121*d+31*e+5*f
a, b, c, d, e, f su izmedju 32 i 127 (ascii tabela, pretpostavka da je ovako)
Ascii tabelu imas recimo na
http://www.lookuptables.com/
Mozes da vrtis for petlje pa da ispitujes da li je ispunjen uslov...
ovo sad imaginrano ispitujem, nije ni jedan programski jezik:
Code:
trazeni_broj = 259665;
ascii = array (1-6); //ovde cemo zapisati brojeve ascii karaktera
for (a=32,a<=127,a++)
for (b=32,b<=127,b++)
for (c=32,c<=127,c++)
for (d=32,d<=127,d++)
for (e=32,e<=127,e++)
for (f=32,f<=127,f++)
{
//nalazimo samo prvo resenje recimo:
if (trazeni_broj == 1555*a+781*b+341*c+121*d+31*e+5*f)
{
// ako se slaze da je ovo jednako, onda je to za trenutne vrednosti a,b...f, pa ih zapisujemo u dugu promenljivu
ascii(1)=a;
ascii(2)=b;
ascii(3)=c;
ascii(4)=d;
ascii(5)=e;
ascii(6)=f;
exit iz petlji
}
}
If ( je postavljeno ascii(a) i nije prazno)
{
// ispisi vrednosti u karakterima:
for (i=1,i<=6,i++) print (i+". znak = "+chr(ascii[i])+"\n");
}
else
{
print "Ne postoji resenje passworda za ovaj broj";
}
Mozda postoji neko drugo resenje, elegantnije, ali ovo ti je brute force :) - pa sad koliko traje... ne znam, trebas testirati kad zavrsis program.
P.S. A sta ako nema 6 karaktera lozinka?
[Ovu poruku je menjao Jbyn4e dana 17.01.2006. u 13:26 GMT+1]
Kad sve ostalo zakaže, pročitaj uputstvo...