"""
一个两位数,将它的十位数与个位数交换一下,比原数小27的数有几个,比如52
解答提示:
可以从27开始到99一个个尝试;
可以先寻找规律,根据规律直接生成;
如何实现个位数与十位数交换位置?
"""numbers = [] # 用于存储满足条件的数字
# # 遍历从27到99的数字
for i in range(27, 100):
a = i // 10 # 整除10得到十位数
b = i % a # 取余得到个位数
new_i = a + b * 10 # 根据十位数和个位数重构数字
# 判断数字是否满足条件
if i - new_i == 27:
numbers.append(i) # 如果满足条件,则添加到列表中
# 输出满足条件的数字的数量和列表
print(f'共有符合要求的数:{len(numbers)}')
print(numbers)# 优化算法迭代之后
# 生成特定规则的新数字列表
new_numbers = []
for i in range(3, 10): # 遍历从3到9的数字
num = i * 10 + (i - 3) # 根据规则生成新数字
new_numbers.append(num) # 将新数字添加到列表中
print(f'共有符合要求的数:{len(new_numbers)}') # 打印符合规则的数字总数
print(new_numbers) # 打印所有符合规则的数字
Day:算法取符合条件的值
未经允许不得转载:创想未来 » Day:算法取符合条件的值
评论前必须登录!
注册