📅  最后修改于: 2023-12-03 15:26:36.817000             🧑  作者: Mango
在编程中,经常需要查找一个具有特定属性的数字,而此题是要求查找具有最多一个非零数字的最接近N的较大数字。以下是解决此问题的思路。
以下是Python实现此功能的代码片段:
def num_of_nonzero(n):
count = 0
while n > 0:
if n % 10 != 0:
count += 1
n //= 10
return count
def find_closest_num(n):
if n == 0:
return 1
i = n + 1
while True:
if num_of_nonzero(i) <= 1:
return i
i += 1
print(find_closest_num(123)) # 输出124
print(find_closest_num(20)) # 输出21
print(find_closest_num(1)) # 输出2
以上是解决此问题的一种方法,根据实际需求,可能存在其他更高效的解决方案。