#include <iostream> using namespace std; int f(int n){ if (n==1) return 1; else return (f(n-1)+n*n*n); } int main(){ int s=f(3); cout<<s<<endl; return 0; }
8
9
27
36
f( )是一个递归函数,结束递归的条件为n==1
在main函数中:
先调用f(3),n = 3,return f(2) + 3*3*3
再调用f(2),n = 2,return f(1) + 2*2*2
最后调用f(1),n=2,return 1,递归结束
再逐层返回:
f(1) = 1
f(2) = f(1 ) + 2*2*2 = 1 + 8 = 9
f(3) = f(2) + 3*3*3 = 9 + 27 = 36
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题