liczba jako suma potęg trójki Paula: W jaki sposób przedstawić dużą liczbę naturalną jako sumę różnych potęg trójki? np 12 bilionów albo 2 do potęgi trzydziestej
10 maj 13:26
ABC: co rozumiesz przez sumę różnych potęg ? emotka dopuszczasz zapis 7=2*31+30 czy chcesz sumę ze wszystkimi współczynnikami równymi jeden ? w tym drugim przypadku nie każda liczba da się tak zapisać
10 maj 13:38
Paula: Współczynniki mogą być tylko 0 lub 1 lub −1. Podobno można każdąemotka ale na udowodnienie tego to już się zupełnie nie porywam. Wystarczyłoby umieć to zastosować emotka
10 maj 13:44
ABC: no niech ci będzie 230=1073741824 szukasz największej potęgi 3 mniejszej od tej liczby 318=387420489 obliczasz różnicę 230−318=686321335 różnica jest większa od 318, więc musisz brać na start 319 *** gdyby różnica była mniejsza to bierzesz 318 tu jest rozwidlenie *** 319=1162261467 różnica 319−230=88519643 patrzysz jaka tu się zmieści potęga trójki i zawsze mogą zajść dwa przypadki z różnicą i tak schodzisz do coraz mniejszych liczb aż skończysz
10 maj 14:04
Paula: No dzięki, ale tak to bym zrobiła. Myślałam że tu jest jakiś sprytny sposób emotka, a tylko ja taka niekumata i na piechotę chcę liczyć emotka ale dziękuję za chęć pomocy
10 maj 14:12
jc: 3517 mod 3 = 1 (3517−1)/3=1172 1172 mod 3 = −1 (1172 + 1)/3 = 391 391 mod 3 = 1 (391 − 1)/3 = 130 130 mod 3 = 1 (130−1)/3 = 43 43 mod 3 = 1 (43−1)/3=7 7 mod 3 = 1 (7−1)/3=2 2 mod = −1 − + + + + − + −36 + 35 + 34 + 33 + 32 − 3 + 1
10 maj 14:23
ABC: jedyne małe ułatwienie jakie widzę to zamienić liczbę na układ trójkowy na przykład na tej stronce https://www.convertworld.com/pl/liczebnik/dziesietny-system-liczbowy.html i zobaczyć jaki jest związek tego rozkładu którego szukasz z zapisem w systemie trójkowym
10 maj 14:24
ABC: o jc już to rozpisał nawet emotka
10 maj 14:26
jc: 230 1 0 −1 0 −1 0 −1 1 −1 0 1 1 1 1 −1 0 1 −1 0 1 230= 1−32−34−36+37−38 + 310 + 311 + 312 + 313 − 314+316−317+319 Program w języku Python n = 2**30 while n!=0: t = (n+1)%3 −1 print t, n = (n−t)/3
10 maj 14:31