Nous recevons une variable entière sous la forme N stockant la valeur de type entier positif. La tâche consiste à imprimer récursivement tous les nombres inférieurs à la valeur donnée N ayant le chiffre 1, 3 ou la combinaison des deux. Sortie
− Programme récursif pour imprimer tous les nombres inférieurs à N composés uniquement de chiffres 1 ou 3 : 33 31 13 11 3 1Explication − nous recevons une valeur entière positive de 40 stockée dans une variable num. Maintenant, nous allons découvrir de manière récursive tous les nombres contenant les chiffres 1, 3 ou les deux et ces nombres inférieurs à 40 sont 1, 3, 11, 13, 31, 33
Input − int num = 5
Output − Programme récursif pour imprimer tous les nombres inférieurs à N composés de chiffres 1 ou 3 uniquement : 3 1
Explication − on nous donne une valeur entière positive comme 40 stockée dans une variable num. Maintenant, nous allons découvrir de manière récursive tous les nombres contenant les chiffres 1, 3 ou les deux et les nombres inférieurs à 5. sont 1 et 3.
Entrée − num int = 1
Sortie − Mauvaise entrée
Explication − 我们给定了一个存储在变量num中的正整数值为1。现在,我们将递归地找出所有包含数字1、3或两者的数字,并且这些数字小于1 sont 0 car le seul entier positif inférieur à 1 est 0, par conséquent, la sortie est une mauvaise entrée.
L'approche utilisée dans le programme ci-dessous est la suivanteSaisissez une variable entière sous la forme num. Passez-le à la fonction Recursive_Numbers(num) en passant num comme paramètre à la fonction.
À l'intérieur de la fonction Recursive_Numbers(num)
#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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!