📌  相关文章
📜  计算不超过N的数字,其中至少包含一个重复的数字(1)

📅  最后修改于: 2023-12-03 15:41:37.148000             🧑  作者: Mango

计算不超过N的数字,其中至少包含一个重复的数字

本程序用于计算不超过N的数字中,至少包含一个重复的数字的数字个数。

实现思路

我们可以利用Python内置的set数据结构的特性,通过循环判断每个数字中是否包含重复的数字,从而得到我们需要的结果。

具体实现过程如下:

  1. 定义一个变量count,用于记录至少包含一个重复数字的数字个数,初始值为0。
  2. 循环遍历1~N的每个数字,将数字转换为字符串。
  3. 转换后的数字字符串放入set数据结构中,如果set中元素数目少于数字字符串长度,即存在重复的数字,count自增1。
  4. 循环结束后,返回count的值即为答案。
代码实现
def count_duplicates(n: int) -> int:
    count = 0
    for num in range(1, n+1):
        if len(set(str(num))) < len(str(num)):
            count += 1
    return count
使用示例
print(count_duplicates(10))  # 输出3,因为有11, 22, 33三个数字满足条件
print(count_duplicates(20))  # 输出10,因为有11, 22, 33, 44, 55, 66, 77, 88, 99, 1010十个数字满足条件