#dxy26001. 摇摆数
摇摆数
当前没有测试数据。
题目描述
如果一个正整数的相邻数位之差的绝对值序列呈现严格的"摇摆"特征(即序列中各元素严格地大小交替:↗↘↗↘ 或 ↘↗↘↗),则称该数为**"摇摆数"(Swing Number)**。
特别规定:
- 一位数和两位数总是摇摆数(因为相邻差序列长度不足2,无法形成非交替)。
- 对于三位及以上的数,相邻差序列长度 ≥ 2,必须严格交替。
示例:
| 数字 | 数位 | 相邻差序列 | 是否严格交替? | 结果 |
|---|---|---|---|---|
| 1324 | 1,3,2,4 | |1-3|=2, |3-2|=1, |2-4|=2 → [2,1,2] | 2>1<2 ✓ | ✅ 是 |
| 1423 | 1,4,2,3 | [3,2,1] | 3>2>1 单调 ✗ | ❌ 否 |
| 1234 | 1,2,3,4 | [1,1,1] | 无交替 ✗ | |
| 100 | 1,0,0 | [1,0] | 1>0 ✓ | ✅ 是 |
| 101 | 1,0,1 | [1,1] | 相等 ✗ | ❌ 否 |
| 5 | 无 | — | ✅ 是 | |
| 37 | 3,7 | [4] | 单元素 ✓ | |
给定区间 [L, R],统计该区间内摇摆数的个数。
输入格式
一行,两个正整数 L 和 R,空格分隔。
1 ≤ L ≤ R ≤ 10⁶
输出格式
一个整数,表示 [L, R] 内摇摆数的个数。
样例
样例1:
输入:
1 20
输出:
20
解释:
1~20 全部是一位数或两位数,按照定义都是摇摆数。
样例2:
输入:
100 120
输出:
19
解释:
在 100~120 这 21 个数中:
100✓ 101✗ 102✓ 103✓ 104✓ 105✓ 106✓ 107✓ 108✓ 109✓
110✓ 111✗ 112✓ 113✓ 114✓ 115✓ 116✓ 117✓ 118✓ 119✓ 120✓
共 19 个摇摆数。(101 和 111 的相邻差序列为 [1,1] 和 [0,0],不满足严格交替)