Biorąc pod uwagę coprime , czy możesz szybko obliczyć
Tutaj są liczbami całkowitymi. Oczywiście przyjęcie daje nieciekawą odpowiedź; ogólnie, jak blisko te moce mogą się zbliżyć? Jak szybko obliczyć minimalizujące ?
Biorąc pod uwagę coprime , czy możesz szybko obliczyć
Tutaj są liczbami całkowitymi. Oczywiście przyjęcie daje nieciekawą odpowiedź; ogólnie, jak blisko te moce mogą się zbliżyć? Jak szybko obliczyć minimalizujące ?
Odpowiedzi:
Najpierw pomyślałem, że najlepiej byłoby użyć ciągłego ułamka i przetestować jego zbieżności, ponieważ przy tych zbieżnościach istnieją punkty w pewnym sensie optymalne przybliżenie. Potem staje się jasne, że należy użyć przynajmniej uogólnionych ciągłych frakcji, aby mieć monotoniczne malejące odległości. Po tym i skomplikowanym algorytmie z tym algorytmem brute-force był jeszcze szybszy w Pari / GPlog(a)/log(b) (x,y)
po tym wezwaniu,|d|<100 3 a=2..100 b=(a+1)..1000 max(X)=30 max(y)=20
mylist(100,1000,3,3,100)
aby znaleźć wszystkie małe różnice w gdzie oba wykładniki wynoszą co najmniej dla wszystkich zasad i . Zaznacz tylko do i .Było to znacznie szybsze niż podejście z ciągłą frakcją (które również miało więcej nieuprzejmych problemów (na przykład z kompletnością rozwiązań), które są trudne do rozwiązania), chociaż jest to jakoś naiwne algo ...
Protokół (zamawiany ręcznie):
źródło