私は1 000 000以下の自然数が完全な数字から数字への不変量であることを決定するコードを書いています(それぞれの数字の桁の和として書くことができます)数字と等しい累乗に; https://en.wikipedia.org/wiki/Perfect_digit-to-digit_invariant参照)、この形式で表現します。数字から数字への不変量のためのPythonコード
1^1 = 1
----------
3^3 +
4^4 +
3^3 +
5^5 = 3435
----------
コードが正しい答えを与えるが、私は式3^3 + 4^4 + 3^3 + 5^5 =にしたい:
def f(n):
y = str(n)
l = len(y)
list = []
for i in range(0,l):
list.append(int(y[i]))
list2 = []
for i in list:
list2.append(i**i)
return sum(list2)
N = 10**6
n = np.linspace(1,N,N,dtype=int)
list = []
for i in n:
if i == f(i):
list.append(i)
list = np.array(list)
list2 = []
for i in list:
list2.append(str(i))
for i in list2:
for j in range(0,len(i)-1):
print(i[j],'^',i[j],'+')
print(i[-1],'^',i[-1],'=',int(i))
print('----------')
このコードを実行することはできますが出力され3435を1行に表示します。これを行う方法はありますか?
'プリント(I [j]は、 '^'、I [j]は、 '+'、エンド= '')印刷で
end=" "
オプションを試してみてください –