旋转数字问题:从 1 到 N 中的好数统计
题目描述
我们需要解决一个与旋转数字相关的问题。给定一个正整数 N,要求我们计算从 1 到 N 中有多少个“好数”。所谓“好数”,是指一个数字,在对每位数字进行 180 度旋转后,得到的数仍然是一个有效的数字,且与原数字不同。
旋转规则:
- 0、1、8:旋转后依然是它们自己。
- 2 和 5 互为镜像,2 旋转后变成 5,5 旋转后变成 2。
- 6 和 9 互为镜像,6 旋转后变成 9,9 旋转后变成 6。
- 其他数字(如 3、4、7)旋转后无法形成有效数字,因此这些数字不参与旋转。
目标:计算从 1 到 N 中有多少个好数。
解题分析
要解决这个问题,我们需要定义一个“好数”的标准。根据题意,一个数是好数当且仅当:
- 每一位数字在旋转后仍然是一个有效数字。
- 旋转后的数字与原数不同。
步骤分析:
- 旋转后的映射:通过观察旋转规则,我们可以建立一个映射表:
-
'0'
->'0'
'1'
->'1'