#include #include using namespace std;

bool isBalanced(int num) { vector count(10, 0); while (num > 0) { int digit = num % 10; count[digit]++; num /= 10; } for (int i = 0; i < count.size(); i++) { if (count[i] != 0 && count[i] != i) { return false; } } return true; }

int main() { int l, r; cin >> l >> r; int sum = 0; for (int i = l; i <= r; i++) { if (isBalanced(i)) { sum += i; } } cout << sum << endl; return 0;

平衡数:如果正整数 x 的每一位数字 d 恰好在 x 中出现了 d 次则认为 x 是平衡数。例如 x=122其中对于百位数 d=1其中 1 在 122 中总共出现了 1 次符合条件;对于十位数 d=2其中 2 在 122 中总共出现了 2 次符合条件;对于个位数 d=2其中 2 在 122 中总共出现了 2 次符合条件;因为 122的每一位都符合条件所以 122是平衡数。现在给出两个正整数lrl≤

原文地址: https://www.cveoy.top/t/topic/h7XB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录