Я почти ничего не знаю о программировании, поэтому мой код, вероятно, очень плохой.
Мне нужна программа, чтобы взять число, которое я ввел (n), сделать n ^ n-1, затем взять n + 1 и делать (n + 1) ^ (n ^ n-1), затем n + 2 и делать (n + 2) ^ (n + 1) ^ (n ^ n-1) ... et c. Это повторяется у раз. Теперь простой способ - просто сделать
pow(n+1,pow(n,n-1))
pow(n+2,pow(n+1,pow(n,n-1)))
pow(n+3,pow(n+2,pow(n+1,pow(n,n-1))))
pow(n+4,pow(n+3,pow(n+2,pow(n+1,pow(n,n-1)))))
pow(n+5,pow(n+4,pow(n+3,pow(n+2,pow(n+1,pow(n,n-1))))))
... и так далее
Но это слишком уродливо и долго, особенно для длинных последовательностей. Поэтому я придумал приведенный ниже код и начал тестировать его для n = 1. Он выполняет математические вычисления вплоть до 4, но затем в 5 что-то ломается и возвращает неправильное значение (которое в этот момент должно быть 5 ^ 262144). Я не понимаю, как это исправить, и если даже есть такая for loop
, которая сделает эту работу. [да, я знаю, что даже мне удается написать правильный код, в мире недостаточно оперативной памяти для вычисления следующего числа в этой последовательности, но я не планирую запускать это, я просто хочу создать код, который будет работать в теория, на компьютере с бесконечной памятью и вычислительной мощностью]
import math
print("Please input an integer greater than or equal to 1:")
n = int(input())
x = str(n-1)
r = str(n)+x
y = int(r)
print("Sequence starts:")
print(pow(n,n-1))
for n in range(n, y+1):
print (pow(n+1,pow(n,n-1)))
Заранее спасибо, любая помощь приветствуется!