问题:打印从1~N的数。
循环写法:
#include <iostream>
void printN(int n);
int main(){
int n;
std::cin>>n;
printN(n);
return 0;
}
void printN(int n){//递归写法
for(int i=1;i<=n;i++)
std::cout<<i<<" ";
}
递归写法:
#include <iostream>
void printN(int n);
int main(){
int n;
std::cin>>n;
printN(n);
return 0;
}
void printN(int n){//递归写法
if(n){
printN(n-1);
std::cout<<n<<" ";
}
else return;
}
当N很大的时候,用递归写法可能直接就爆掉了。递归写法更符合人类的思维方式,代码也更容易懂。但不适合计算机来处理。