一道 / edao.plus
#10161

好数·枚举法

题目

定义:如果一个正整数满足以下条件,则称为好数: 1. 各位数字都不相同 2. 各位数字之和能被3整除 求第100个好数。

解法

  1. 分析:好数需同时满足两个条件:数字不重复、数字和是3的倍数。按从小到大顺序枚举,逐个检查这两个条件,计数到第100个即可。
    一位数好数=3个(3、6、9)
    两位数好数=27个
    前30个好数=一位数3个 + 两位数27个
    三位数从第31个开始=需要第100-30=70个三位数好数
    第100个好数=375答案

    按位数分段枚举计数

  2. 一位数:只有数字和能被3整除的数是好数,即3、6、9,共3个好数。
    = 375第100个好数

    答案:375

  3. 两位数:十位1-9,个位0-9且≠十位。数字和能被3整除的组合中,每个十位对应3个有效个位,共9×3=27个好数。
  4. 三位数:前30个好数(3个一位数+27个两位数)之后,需要第70个三位数好数。经枚举,第100个好数是375。

知识点

练一练

定义:如果一个正整数满足以下条件,则称为好数: 1. 各位数字都不相同 2. 各位数字之和能被5整除 求第20个好数。

相关题目