양의 정수형 값을 저장하는 정수형 변수 N이 주어집니다. 작업은 숫자 1, 3 또는 둘의 조합을 갖는 주어진 값 N보다 작은 모든 숫자를 재귀적으로 인쇄하는 것입니다.
Input − int num = 40
출력 − 숫자 1 또는 3으로만 구성된 N보다 작은 모든 숫자를 인쇄하는 재귀 프로그램은 다음과 같습니다. 33 31 13 11 3 1
설명 − 변수 num에 저장된 양의 정수 값 40이 제공됩니다. 이제 숫자 1, 3 또는 둘 다를 포함하는 모든 숫자를 재귀적으로 찾아보겠습니다. 40보다 작은 숫자는 1, 3, 11, 13, 31, 33
Input − int num = 5
Output − 숫자 1 또는 3으로만 구성된 N보다 작은 모든 숫자를 인쇄하는 재귀 프로그램은 다음과 같습니다. 3 1
설명 − 변수 num에 저장된 양의 정수 값 40이 제공됩니다. 이제 숫자 1, 3 또는 둘 다를 포함하는 모든 숫자와 5보다 작은 숫자를 재귀적으로 찾아보겠습니다. 1과 3입니다.
Input − int num = 1
Output − 잘못된 입력
Explanation − 我们给定了一个存储재变weightnum中的正整数值1 。现지금,我们将递归地找流所有包含数字1, 3或两者的数字 , 并且这些数字 小于1 1보다 작은 양의 정수는 0이므로 출력이 잘못되었습니다.
정수 변수를 num으로 입력합니다. num을 함수의 매개변수로 전달하여 Recursive_Numbers(num) 함수에 전달합니다.
함수 Recursive_Numbers(num)
변수를 bool 유형의 검사로 선언하고 1로 설정합니다.
IF 숫자가 0보다 큰지 확인한 다음 WHILE temp가 0보다 크고 1로 확인합니다. 숫자를 temp % 10으로 설정합니다.
IF 숫자가 1과 같지 않고 숫자가 3이 아닌지 확인한 다음 확인을 0으로 설정합니다. temp = temp / 10.
IF 검사가 1인지 확인하고 num을 인쇄하세요.
Recursive_Numbers(num - 1) 함수를 재귀적으로 호출하세요.
如果我们运行上述代码,将会生成以下输流#include <iostream> using namespace std; void Recursive_Numbers(int num){ bool check = 1; int temp = num; if(num > 0){ while(temp > 0 && check == 1){ int digit = temp % 10; if (digit != 1 && digit != 3){ check = 0; } temp = temp / 10; } if(check == 1){ cout<< num << " "; } Recursive_Numbers(num - 1); } } int main(){ int num = 40; if(num <= 1){ cout<<"Wrong input"; } else{ cout<<"Recursive program to print all numbers less than N which consist of digits 1 or 3 only are: "; Recursive_Numbers(num); } return 0; }
위 내용은 재귀 프로그램은 숫자 1 또는 3으로만 구성된 N보다 작은 모든 숫자를 인쇄합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!