Jest to nowy rodzaj wyzwania inspirowanego problemem Odzyskaj zmutowany kod źródłowy .
Powinieneś napisać dwa programy lub funkcje w tym samym języku. Pierwszy powinien rozwiązać zadanie nr 1, a drugi rozwiązać zadanie nr 2.
Twój wynik będzie sumą dłuższego programu i odległości Levenshteina między kodem źródłowym dwóch programów. Niższy wynik jest lepszy, więc powinieneś spróbować uczynić oba rozwiązania podobnymi, jednocześnie utrzymując krótkie długości programów.
Zadanie 1
Dostaniesz dodatnia N
i zalecana wyprowadzania sekwencji Collatz z N
oddzielonych spacjami lub linią. Separator końcowy jest dozwolony.
Pierwszym elementem sekwencji Collatz jest N
. Reszta elementów jest generowana na podstawie ich następcy :
Jak tylko sekwencja osiągnie, 1
żadne nowe elementy nie zostaną wygenerowane.
Dane wejściowe => Przykłady wyników:
6 => 6 3 10 5 16 8 4 2 1
8 => 8 4 2 1
1 => 1
Zadanie nr 2
Para podwójnych liczb pierwszych jest parą liczb całkowitych dodatnich, których różnica wynosi 2 i oba są liczbami pierwszymi.
Otrzymujesz dodatnią liczbę całkowitą N
i powinieneś wypisać najmniejszą parę liczb pierwszych bliźniaczych, gdzie obie liczby pierwsze są większe niż N
Pierwsza liczba powinna być mniejsza, a dwie liczby pierwsze powinny być oddzielone spacjami lub znakiem nowej linii. Separator końcowy jest dozwolony.
Dane wejściowe => Przykłady wyników:
6 => 11 13
42 => 59 61
1 => 3 5
Snippet do obliczania wyniku
(Modyfikacja tego w problemie Odzyskaj zmutowany kod źródłowy .)
Edytować
W nagłówku odpowiedzi użyjmy formatu
[Language], [longer length] + [distance] = [final score]
.
Na przykład
Python 2, 60 + 32 = 92
3 5
dla wejścia 3 dla par pierwszych. Powinien wyjść5 7
.05AB1E , 14 +
13109 =272423Wynik -4 dzięki tylko ASCII
Sekwencja Collatz (14 bajtów):
Wypróbuj online!
Podwójne liczby pierwsze (14 bajtów):
Wypróbuj online!
Liczby pierwsze w golfa (11 bajtów):
Wypróbuj online!
źródło
,,
i dlaczego tylkoÐ,
tam działa)Java 8, 118 + 84 = 202
Collatz:
Bliźniacze liczby pierwsze:
źródło
Mathematica, 53 + 29 = 82
Sekwencja Collatz:
Program podwójnych liczb pierwszych:
źródło
> <> , 116 + 86 = 202
Program Collatz (46):
Program podwójnych liczb pierwszych (116):
Auć. Oba programy zaczynają się od tej samej
atoi
funkcji, ale potem liczba pierwszych liczb podwójnych spada. Ten sam fragment kodu jest powtarzany dwukrotnie w celu sprawdzenia pierwotności - może być nieco krótszy, aby jakoś ponownie użyć fragmentu, ale konfiguracja nie zaoszczędziłaby wielu bajtów.Mógłbym zrobić znacznie lepiej, wrzucając tylną połowę liczb pierwszych do niewykorzystanych miejsc programu Collatz, ale nie jestem pewien, czy jest to dozwolone.
źródło
C ++ Odległość = 114 Dłuższa długość = 155 Punktacja = 269
Zadanie 1
Zadanie 2
Zadanie 2 poprawione
źródło
int p(int x){int z=0;for(int i=2;1<x;i++){cout<<x<<' ';x=(x%2==0)?x/2:x*3+1;}cout<<x;return z;}