假设我们有一个数字n。我们的任务是找到1到n之间的整数数,该整数数仅包含数字0s和1s。因此,如果n = 15,则输出将为。因为数字是1,10,11
为了解决这个问题,我们将使用递归函数使用0和1创建整数。以下代码将帮助我们更好地理解这一点。
#include<iostream> using namespace std; int numberOfValues(int p, int n) { if (p > n) return 0; return 1 + numberOfValues(p * 10, n) + numberOfValues(p * 10 + 1, n); } int main() { int n = 120; cout << "Number of values using 0s and 1s: " << numberOfValues(1, n); }
输出结果
Number of values using 0s and 1s: 7