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 książkę o programowaniu, natknąłem się na problem Collatza. Postanowiłem go rozwiązać w możliwie prosty sposób. Proszę o wytłuszczenie błędów w rozumowaniu. Rozwiązałem go w naturalnym kodzie binarnym. 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. Tutaj również zamieściłem rozwiązanie: https://pl.wikipedia.org/wiki/Dyskusja:Problem_Collatza |
strony: 1 |
Prawo do pisania przysługuje tylko zalogowanym użytkownikom. Zaloguj się lub zarejestruj