给定数字N ,任务是编写C / C++程序以通过使用递归调用main()函数将数字从N打印到1。
例子:
Input: N = 10
Output: 10 9 8 7 6 5 4 3 2 1
Input: N = 5
Output: 5 4 3 2 1
方法:
- 使用静态变量初始化给定的数字N。
- 打印数字N并递减。
- 在完成上述步骤后,重新调用main()函数。
下面是上述方法的实现:
C
// C program to illustrate calling
// main() function in main() itself
#include "stdio.h"
// Driver Code
int main()
{
// Declare a static variable
static int N = 10;
// Condition for calling main()
// recursively
if (N > 0) {
printf("%d ", N);
N--;
main();
}
}
C++
// C++ program to illustrate calling
// main() function in main() itself
#include "iostream"
using namespace std;
// Driver Code
int main()
{
// Declare a static variable
static int N = 10;
// Condition for calling main()
// recursively untill N is 0
if (N > 0) {
cout << N << ' ';
N--;
main();
}
}
输出:
10 9 8 7 6 5 4 3 2 1
时间复杂度: O(N) ,其中N是给定的数字。
想要从精选的最佳视频中学习和练习问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。