📌  相关文章
📜  计数范围内的数字,其数字总和可被K整除,且第一位和最后一位不同(1)

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

题目描述

给定一个区间 [L, R],计算在此区间内所有满足以下条件的整数之和:

  • 数字总和可被 K 整除;
  • 数字的第一位和最后一位不相同。
函数签名
def range_digit_sum(L: int, R: int, K: int) -> int:
    pass
输入
  • L:整数,表示计数范围的左边界 $L$ $(1 \leq L \leq 10^{18})$;
  • R:整数,表示计数范围的右边界 $R$ $(1 \leq R \leq 10^{18})$;
  • K:整数,表示数字总和需要被整除的数 $K$ $(1 \leq K \leq 9)$。
输出
  • 返回 int 类型的结果,表示符合条件的整数们之和。
示例
示例1
输入:
L = 1, R = 15, K = 3

输出:
30

解释:

  1. 符合要求的整数有:3、6、9、12、15;
  2. 整数总和为 3+6+9+1+2+1+5=30。
示例2
输入:
L = 10, R = 20, K = 2

输出:
12

解释:

  1. 符合要求的整数有:10、12、14、16、18、20;
  2. 整数总和为 1+2+1+4+1+6=12。
说明

该题涉及了计数、前缀和、数位 DP、高精度等多种算法,对于初学者而言比较有挑战性。