NC50516. Amount of Degrees
描述
输入描述
第一行包含两个整数X和Y,接下来两行包含整数K和B。
输出描述
只包含一个整数,表示满足条件的数的个数。
示例1
输入:
15 20 2 2
输出:
3
C++ 解法, 执行用时: 8ms, 内存消耗: 396K, 提交时间: 2022-04-15 16:11:51
#include<iostream> using namespace std; typedef long long ll; int l, r, k, b, ans; void dfs(int c, int num, int p) { if(c == k) { if(num >= l) ++ans; return; } for(ll tp = c ? p * b : 1; num + tp <= r; tp *= b) dfs(c + 1, num + tp, tp); } int main() { cin >> l >> r >> k >> b; dfs(0, 0, 0); cout << ans << endl; return 0; }