#P26032. [GESP一级2603] 数字替换
[GESP一级2603] 数字替换
[GESP一级2603]对应的【选择题】和【判断题】https://1lou.org/p/459
[GESP一级2603] 数字替换
试题名称:数字替换 时间限制:1.0 s 内存限制:512.0 MB
题目描述 Alice 不喜欢数字 4,但觉得数字 8 寓意好,她想把数中的 4 全都替换成 8,若数中不含 4 则⽆需修改,你能帮帮她 吗? 输入格式 输⼊⼀⾏,包含⼀个整数 ,表⽰替换前的数。 输出格式 输出⼀⾏,包含⼀个整数 ,表⽰替换后的数。 样例
输入样例1
8459045
输出样例1
8859085
输入样例2
123
输出样例2
123
参考程序(点击展开)
num = int(input()) # num保存输入的数
new_num = 0 # 4被替换为8的新数,
loop_count = 0 #循环次数
times = 10 ** loop_count # 根据循环次数决定是10的多少次方
while num > 0:
if num % 10 == 4: # 如果余数是4,也就是该位置为4
new_num += times * 8 # 变成8乘以多少次方
else:
new_num += times * (num % 10) # 用原数乘以多少次方
num //= 10
loop_count += 1 #循环次数+1,相当于向前一位
times = 10 ** loop_count #根据循环次数决定是10的多少次方
print(new_num) # 输出新的数