> 文章列表 > 盖子的c++小课堂——第十七讲:递归

盖子的c++小课堂——第十七讲:递归

盖子的c++小课堂——第十七讲:递归

前言

通知一下,以后每周不定期更新,有可能是周六更新,也可能是周日吧,反正会更新的~~还有我新出的专栏《跟着盖子读论语》,记得订阅一下啊跟着盖子学《论语》_我叫盖子的盖鸭的博客-CSDN博客

三元表达式

三元表达式1

先看一下,这是一个很平常的代码段

if(x%2==1)cout<<"Odd";
elsecout<<"Even";

然后呢,我们把它化简一下,变成这样↓ ↓ ↓

cout<<(x%2==1?"Odd":"Even");

O(∩_∩)O有点乱是吧,慢慢就理解了~~

三元表达式2

好,那我们再来一个,看~~

if(n>=100)price=7*n;
elseprice=10*n;

再化简一下

price=(n>=100?7*n:10*n);

或者这样也行~~(*^▽^*) 

price=(n>=100?7:10)*n;

三元表达式≈if语句

x?A:B

判断条件x-------------如果x为true就调用A-------------如果x为false就调用B

递归

好了,进入正题,递归……

 递归——函数调用自身

 就一句话形容一下,就是——大事化小,小事化了O(∩_∩)O

阶乘函数

n!=n*(n-1)*……*2*1

f(x)代表x的阶乘——终止条件--递归:函数调用自身

typedef long long ll;
ll f(ll x){for(ll i=2;i<=x;i++)ans*=i;return ans;
}
int main(){ll n;cin>>n;cout<<f(n);return 0;
}

阶乘——递归过程

 斐波那契——递推过程

 总结

好了,今天就先到这里了,记得点赞关注加收藏哦,拜了个拜┏(^0^)┛