網易相反數:
為了得到一個數的"相反數",我們将這個數的數字順序颠倒,然後再加上原先的數得到"相反數"。例如,為了得到1325的"相反數",首先我們将該數的數字順序颠倒,我們得到5231,之後再加上原先的數,我們得到5231+1325=6556.如果颠倒之後的數字有字首零,字首零将會被忽略。例如n = 100, 颠倒之後是1.
輸入描述:
輸入包括一個整數n,(1 ≤ n ≤ 10^5)
輸出描述:
輸出一個整數,表示n的相反數
輸入例子1:
1325
輸出例子1:
6556
解題思路:
應用字元串知識。
1:首先将原字元n串取反輸出得到相反字元串Inv;
2:然後判斷Inv首字母是否為‘0’,若為’0’則删除(用’'替換)——此時編寫一個替換函數replaceString(string, num, replace),直至首字母不為零為止,是以整個過程用while循環來完成——得到最終的Inv。
3:對n和Inv進行類型轉換(字元串轉換成int類型)并相加輸出。
# -*- coding: utf-8 -*-
def replaceString(string, num, replace):
string2 = ''
for i in range(len(string)):
if i == num:
string2 += replace
else:
string2 += string[i]
return string2
def InverseNum(n):
Inv=''
for i in range(len(n)):
Inv=Inv+n[len(n)-1-i]
while(not int(Inv[0])):
Inv=replaceString(Inv, 0, '')
return int(Inv)+int(n)
def main():
n=input()
Inv=InverseNum(n)
print(Inv)
main()
運作結果:
