BobbyK - znajdowanie wag regon14 - list 2Dnia śro 10. grudnia 2003 03:02, napisałeś: > Hello BobbyK, > > Pozwolę sobie zamieścić Twój skrypt - nie jest on nielegalny - bo > nie jest publikacją tych wag dla regonu14 :) > Ale chciałbym także zamieścić treść Twojego e-maila. > Tak mi się wydaje, że niektóre szczegóły są zbyt niejasne aby > miały wartość edukacyjną dla młodych programistów. > Mam więc prośbę abyś go jeszcze raz przeczytał i niektóre > rzeczy napisał bardziej w stylu kawa na ławę. > Nie analizowałem jeszcze skryptu ale napisz w jaki sposób > wstawienie ZŁYCH numerów powodowało szybsze znajdowanie > prawidłowych wag ? No OK ... jak chcesz ... To proste jesli chcesz szukac wlasciwych wag dla zalozmy 20 numerow regon... to rownie dobrze mozesz odwrocic sytuacje i szukac sobie wag ktore sa dobre dla zlych regonow. Teraz widze po skrypcie ktory ci wyslalem ze to i tak w przypadku mojego skryptu malo zmienialo ... bo to sa zle "zle regony" ... po prostu zrobilem sobie takich tablic kilka i powinny byc calkowicie inne od tych ktore sa w pierwszej tablicy, ale to szczegol i moj blad... po prostu w ktoryms momencie chcialem sobie uproscic zeby nie szukac dobrych regonow i dodawac je do puli tylko zrobic pule 9 regonow ze zlymi liczbami kontrolnymi na koncu i calkiem przejsc na system szukania prawidlowych wag dla nieprawidlowych regonow zeby je odrzucac :) ... i sobie zmontowalem tablice nieprawidlowych na podstawie prawidlowych... problem w tym ze w mailu jest czesc tej tablicy ktora jest podobna do regonow prawidlowych i pewnie malo razy sie wogole odpalila z dobrym skutkiem... dlatego ta czesc mozesz juz teraz wywalic ... albo wpisac tam kilka bardziej logicznie poprawnych nieprawidlowych regonow :) ... rozniacych sie od prawidlowych nie tylko na ostatnim znaku ... > Co to znaczy " i sie dowiedzialem ze 1=11 , 2=12, 3=13 i" no logicznie glowkujac ... i poslugujac sie pesel.exe i znajac wagi dla regon9 i wiedzac ze 5 waga=0 w regon14 a 4 w regon9 otrzymujesz: 00000000000000 - prawidlowy regon operujemy na zerach ... bo w takim ukladzie co by nie bylo na wadze to zawsze pozostale liczby sa rowne 0 i mozna sobie wtedy kombinowac liczby tak ... zeby dawaly rowna sume dla regonu 9 ktora to pesel weryfikuje po drodze ... a z kolei regon14 ma na 5 tej wadze 0 co pozwala zakombinowac na niej tak zeby i regon9 i 14 byly zadowolone :). 10000000800006 - pawidlowy regon z cyfra taka sama jak: 00002000801006 - prawidłowy regon - czyli moge sobie zalozyc, ze waga pierwsza = waga 11, choc pewny nie jestem ... (teraz wiem ze zalozenie dobre :) - gdyby bylo zle to bym szukal dalszych powiazan miedzy liczbami uznajac, ze ta waga na bank nie jest rowna pierwszej ... co tez daje mi jakies zageszczenie.. ) a poprzednio sprawdzana: 00002000810006 - pesel zglasza nieprawidłowy regon ... podobnie jak i pozostale wagi powyzej 9-ej ... - poznalem juz wartosc 11-ej wagi co wyeliminowalo mi petle i kilka wag do sprawdzania :) ... - poznalem bo po prostu podstawilem ta wage na sztywno ... zatem lece dalej ... i biore regon: 01000000900003 - i juz se mysle co pomnozone przez 4 da mi reszte z dzielenia przez 11 rowna 9... ... wiem ... bo czemu mam nie wiedziec - 5*4=20 20/11=1 i reszta 9 ... no to 5 na piata cyfre ... i podstawiam 1 na 10-a potem 11-a - sprawdzajac przy okazji czy sie nie walnalem :) ... potem na 12-a : 00005000900103 - pesel sygnalizuje ze jest ok ... znaczy ze mam chyba kolejna wage... :) wiec analogicznie do pierwszej na sztywno ja sobie podstawiam ... zabieramy sie za 3-a i juz prawie jestem pewny ze jest rowna 13-ej... czyli: 00100000200009 - fajna bo mala waga (2 dla regon 9) i wymyslam sobie ze na 5 miejsce wrzuce 6 bo 6*(4 z piatej wagi regon9 )= 24, a 24/11=2 reszta co nam daje : 00006000200019 - prawidłowy regon i kolejna sztywna 13-a wage ... zmodyfikowalem skrypt ... i odpalilem ... chcac zobaczyc z jakim skutkiem ... to dziala ... poszedlem sobie cos zjesc ... przychodze i patrze ze sie zrobilo ... ...juz mialem go poprawiac - a wlasciwie ustawic wiecej powtarzajacych sie cyfr w funkcji ... i w tle jak bedzie sie sprawdzalo zabrac sie do sprawdzania czy powtarzaja sie srodkowe cyfry w obrebie regon9 ... ale najpierw na otrzymanych wagach puscilem skrypt zageszczajacy ... ,ktory regularnie dla roznistych regonow zwracal mi ta sama licbe... wydalo mi sie ze dalsze szukanie nie ma juz sensu wiec na bazie tej liczby zbudowalem generator regonow ... > Co to znaczy "wygenerowalem ... i wkleilem do 'pesel'-a ..."? > pesel.exe chodzi pod DOSem - przekierowałeś coś > < ? > Na starcie wymaga wciśnięcia klawisza L i potem dopiero czyta > z klawiatury. Jak mu przy przekierowaniu podałeś kod klawisza? ... moj generator regonow potrafi wygenerowac dowolna liczbe regon14 ... znaczy taka jaka mu zapuscisz ... jesli masz command-line interpreter php to robisz sobie tak c:\php\php.exe generator_regonow.php >regony_14.txt otrzymujesz plik regony_14.txt w ktorym w jednej kolumnie masz troche regonow ... otwierasz go w czymtam Ci sie podoba ...powiedzmy ... notatniku ... i kopijesz wszystkie ... otwierasz sobie pesel.exe ... najlepiej zanim to zrobisz ... ustawiasz sobie wieksza rozdzielczosc okienka - powiedzmy 80x100 znakow (ja tak zrobilem ... ale pesel je zmniejsza) .... naciskasz L ... i jesli masz tryb prostej edycji klikasz prawym przyciskiem myszy... albo jesli nie ... na belce okienka i edycja->wklej ... pesel zaczyna sprawdzac wszystko wklejone po kolei ... ... potem siedzisz i sie gapisz czy wszystko sie zgadza... mi sie zgadzalo ... wiec moje poszukiwania dobiegly konca ... Cos mi sie zdawalo, ze za latwo mi poszlo - nie bylem pewny i do Ciebie napisalem ... ot i cala historyjka ... ze szczegulami... Wlasciwie gdybym sie zabral za to tak jak nalezy od poczatku ... a nie liczyl na niewiarygodna szybkosc moich komputerow ... to juz bym to dawno sobie wyliczyl ... a ze czasem robie zanim pomysle to stracilem troche czasu ... Dobra .. koncze bo musze troche popracowac ... -- BobbyK [poprzedni list] [następny list] |
|
ciąg dalszy
|
|
Licznik = (od 20 grudnia 2003) |