Liczby kwadratowe to te, które przyjmują postać, n^2gdzie n jest liczbą całkowitą. Są one również nazywane idealnymi kwadratami, ponieważ gdy weźmiesz ich pierwiastek kwadratowy, otrzymasz liczbę całkowitą.
Pierwsze 10 liczb kwadratowych to: ( OEIS )
0, 1, 4, 9, 16, 25, 36, 49, 64, 81
Liczby trójkątne to liczby, które mogą tworzyć trójkąt równoboczny. N-ty numer trójkąta jest równy sumie wszystkich liczb naturalnych od 1 do n.
Pierwsze 10 liczb trójkątnych to: ( OEIS )
0, 1, 3, 6, 10, 15, 21, 28, 36, 45
Kwadratowe liczby trójkątne to liczby zarówno kwadratowe, jak i trójkątne.
Pierwsze 10 kwadratowych liczb trójkątnych to: ( OEIS )
0, 1, 36, 1225, 41616, 1413721, 48024900, 1631432881, 55420693056, 1882672131025, 63955431761796
Istnieje nieskończona liczba liczb kwadratowych, liczb trójkątnych i kwadratowych liczb trójkątnych.
Napisz program lub nazwaną funkcję, która podała liczbę wejściową (parametr lub standard) n, oblicza nkwadratową liczbę trójkątną i wysyła / zwraca ją, gdzie n jest dodatnią liczbą niezerową. (Dla n = 1 zwraca 0)
Aby program / funkcja była poprawnym przesłaniem, powinna mieć możliwość zwrócenia co najmniej wszystkich liczb kwadratowych trójkątów mniejszych niż 2 ^ 31-1.
Premia
-4 bajty za możliwość wypisania wszystkich kwadratowych liczb trójkątnych mniejszych niż 2 ^ 63-1
-4 bajty umożliwiające teoretyczne wyprowadzenie kwadratowych liczb trójkątnych o dowolnym rozmiarze.
+8 bajtów kary za rozwiązania wymagające czasu niepolarnego.
Stos bonusów.
To wyzwanie dla golfa, więc wygrywa odpowiedź z najmniejszą liczbą bajtów.
nkroki, a na każdym kroku arytmetyka zajmuje czas liniowy, ponieważ liczba cyfr rośnie liniowo n. Nie sądzę, żeby czas liniowy był możliwy. Chyba że mówisz, że operacje arytmetyczne to stały czas?
