給定一個整數變數 N 來儲存正整數類型值。任務是遞歸地列印所有小於給定值N 的數字,其中數字為1、3 或兩者的組合。
#輸入− int num = 40
#輸出− 遞迴程式列印所有小於N 且僅由數字1 或3 組成的數字: 33 31 13 11 3 1
解釋− 我們得到一個正整數值 40,儲存在變數 num 中。現在,我們將遞歸地找出所有包含數字1、3 或兩者的數字,以及小於40 的數字是1, 3, 11, 13, 31, 33
輸入 − int num = 5
#輸出#− 遞迴程式列印所有小於N 且僅由數字1 或3 組成的數字為: 3 1
#解釋− 我們得到一個正整數值 40,儲存在變數 num 中。現在,我們將遞歸地找出所有包含數字 1、3 或兩者的數字以及小於 5 的數字 是1 和3。
輸入− int num = 1
##輸出 − 錯誤輸入
## 解釋− 我們給定了一個儲存在變數num中的正整數值為1。現在,我們將電位地找出所有包含數字1、3或兩者的數字,並且這些數字小於1 都是0,因為唯一小於1 的正整數是0,因此輸出是錯誤的輸入。
下面程式中所使用的方法如下#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; }###輸出######如果我們執行上述程式碼,將會產生以下輸出###
Recursive program to print all numbers less than N which consist of digits 1 or 3 only are: 33 31 13 11 3 1###
以上是遞歸程式列印所有小於N的僅由數字1或3組成的數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!