Квадратные числа - это те, которые принимают форму n^2
целого числа n. Их также называют идеальными квадратами, потому что когда вы берете их квадратный корень, вы получаете целое число.
Первые 10 квадратных чисел: ( OEIS )
0, 1, 4, 9, 16, 25, 36, 49, 64, 81
Треугольные числа - это числа, которые могут образовывать равносторонний треугольник. Номер n-го треугольника равен сумме всех натуральных чисел от 1 до n.
Первые 10 треугольных чисел: ( OEIS )
0, 1, 3, 6, 10, 15, 21, 28, 36, 45
Квадратные треугольные числа являются числами, которые являются и квадратными и треугольными.
Первые 10 квадратных треугольных чисел: ( OEIS )
0, 1, 36, 1225, 41616, 1413721, 48024900, 1631432881, 55420693056, 1882672131025, 63955431761796
Существует бесконечное количество квадратных чисел, треугольных чисел и квадратных треугольных чисел.
Напишите программу или именованную функцию, которая задает входной (параметр или стандартный номер) номер n
, вычисляет n
квадратное треугольное число th и выводит / возвращает его, где n - положительное ненулевое число. (Для n = 1 вернуть 0)
Чтобы программа / функция была действительной отправкой, она должна иметь возможность возвращать как минимум все квадратные треугольные числа, меньшие 2 ^ 31-1.
бонус
-4 байта для возможности вывести все квадратные треугольные числа менее 2 ^ 63-1
-4 байта для теоретической возможности вывести квадратные треугольные числа любого размера.
Штраф + 8 байт за решения, которые занимают неполиномиальное время.
Стек бонусов.
Это вызов кода-гольфа, поэтому выигрывает ответ с наименьшим количеством байтов.
n
шаги, и на каждом шаге арифметика занимает линейное время, потому что число цифр растет линейно n
. Я не думаю, что линейное время возможно. Разве вы не говорите, что арифметические операции являются постоянным временем?