Problem Collatza - Próba rozwiązania ze sfery IT
ostatnie wiadomości | regulamin | latex
Autor | Wiadomość |
nintyfan postów: 2 | ![]() Jestem prostym człowiekiem. Czytając ostatnio książkę o programowaniu, natknąłem się na problem Collatza. Postanowiłem go rozwiązać, w możliwie prosty sposób. Rozwiązałem go w naturalnym kodzie binarnym. Proszę o wytłuszczenie błędów w rozumowaniu. Możliwe rozwiązanie za świata IT Moje, Lewico Ponieważ liczba nieparzysta razy nieparzysta da nieparzystą, to zwiększając ją o 1, otrzymamy parzystą. Następnym krokiem będzie wiec liczba parzysta, którą musimy podzielić przez dwa. Liczba podziałów przez dwa będzie więc co najmniej taka sama, jak poprzednio omówionych kroków. Następnie przeanalizowałem mnożenie pewnych grup bitów przez 3 i dodawanie 1. 0001 *0011 =----- 0011 + 0001 = 0100 Po podzieleniu przez 2, otrzymujemy 0010 Dzielimy do uzyskania 1. 0010 sprowadza się do sytuacji podanej powyżej 0011 *0011 =----- 0011 +0110 =----- 1001 +0001 =----- 1010 - to taka sama sytuacja, jak przy mnożeniu 1. Przykład z liczbą: 101 - sprowadza się do tego, co wyżej 0111 *0011 =----- 0111 +1110 =----- 10101 Każdą liczbę można właśnie podzielić na grupy 0001, 0010, 0011 lub 100 . W przypadku liczby składającej się z grup 1, a potem cyfr z podanych grup, otrzymamy liczbę rozkładaną na wskazane wcześniej grupy. Rozwiązanie zamieściłem również tutaj: https://pl.wikipedia.org/wiki/Dyskusja:Problem_Collatza |
Szymon Konieczny postów: 7748 | ![]() If (2k+1) I Chińska ósemka |
Szymon Konieczny postów: 7748 | ![]() W sumie na tym polega chińska ósemka, żeby liczyć nawiasy od zewnętrznej strony. |
strony: 1 |
Prawo do pisania przysługuje tylko zalogowanym użytkownikom. Zaloguj się lub zarejestruj