숫자 n이 있다고 가정합니다. 우리의 임무는 0과 1의 숫자만을 포함하는 1에서 n까지의 정수의 수를 찾는 것입니다. 따라서 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