Definicja sekwencji
Skonstruuj ciąg dodatnich liczb całkowitych a(n)
w następujący sposób:
a(0) = 4
- Każdy składnik
a(n)
, inny niż pierwszy, jest to najmniejsza ilość, która spełnia następujące:
a)a(n)
jest to liczba złożonych
b)a(n) > a(n-1)
i
c)a(n) + a(k) + 1
jest liczba dla każdego kompozytu0 <= k < n
.
Więc zaczynamy od a(0) = 4
. Następny wpis a(1)
musi być 9
. To nie może być 5
ani 7
od tych, którzy nie są kompozytowe, i nie może być 6
lub 8
ponieważ 6+4+1=11
nie jest złożona i 8+4+1=13
nie jest złożona. Wreszcie, 9+4+1=14
który jest złożony, więc a(1) = 9
.
Następny wpis a(2)
musi być 10
, ponieważ jest to najmniejsza liczba większa niż 9
z 10+9+1=20
i 10+4+1=15
oba złożone.
Do następnego wpisu 11
i 13
oba są niedostępne, ponieważ nie są złożone. 12
jest niedostępny, ponieważ 12+4+1=17
nie jest złożony. 14
jest niedostępny, ponieważ 14+4+1=19
nie jest złożony. W ten sposób 15
jest kolejnym określenie sekwencji ponieważ 15
jest złożona i 15+4+1=20
, 15+9+1=25
i 15+10+1=26
są w każdym złożonej, tak a(3) = 15
.
Oto pierwsze 30 terminów w tej sekwencji:
4, 9, 10, 15, 16, 22, 28, 34, 35, 39, 40, 46, 52, 58, 64, 70, 75, 76, 82, 88, 94, 100, 106, 112, 118, 119, 124, 125, 130, 136
To jest OEIS A133764 .
Wyzwanie
Biorąc pod uwagę wejściową liczbę całkowitą n
, wyślij n
th wyraz w tej sekwencji.
Zasady
- Możesz wybrać indeksowanie oparte na 0 lub 1. Proszę podać, które w swoim zgłoszeniu.
- Można założyć, że dane wejściowe i wyjściowe pasują do natywnego typu liczb całkowitych twojego języka.
- Dane wejściowe i wyjściowe można podać dowolną dogodną metodą .
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
Odpowiedzi:
Łuska , 11 bajtów
1-indeksowany. Wypróbuj online!
Wyjaśnienie
źródło
Perl 6 , 70 bajtów
Wypróbuj 0-indeksowane
Rozszerzony:
źródło
Python 2 ,
112107 bajtówdzięki panu Xcoder za bajt.
Wypróbuj online!
Python 2 ,
115109 bajtówWypróbuj online!
źródło
JavaScript (ES6), 83 bajty
1-indeksowany
Próbny
Pokaż fragment kodu
Skomentował
Funkcja pomocnicza P () , zwracająca wartość true, jeśli n jest liczbą pierwszą, lub false w przeciwnym razie:
NB: Należy go wywołać za pomocą x = n .
Główna funkcja f () :
źródło
05AB1E , 21 bajtów
0-indeksowane
Wypróbuj online!
źródło
Wolfram Language (Mathematica) , 65 bajtów
Używa kodowania CP-1252 (domyślny system Windows). 1-indeksowany.
Wypróbuj online!
źródło
Java 8,
186173 bajtów0-indeksowane.
Niestety kontrole wstępne (w tym przypadku kontrole wstępne / złożone) nie są tak tanie w Javie ..
Wyjaśnienie:
Wypróbuj online.
źródło
Ruby +
-rprime
,8575 bajtówWypróbuj online!
Lambda zwraca n-ty indeksowany element 0.
-10 bajtów: Użyj
redo
i operator trójskładnikowy zamiastloop
...break
i łańcucha warunkowegoNie golfowany:
źródło
C (gcc) , 170 bajtów
Wypróbuj online!
źródło
C (gcc) ,
140138 bajtówDzięki @Jonathan Frech za uratowanie dwóch bajtów!
0-indeksowane
Wypróbuj online!
źródło
++k,j=0
może być dwa razyj=!++k
, 138 bajtów .