首先是一个递归问题,我以后再补充,这里先略
这里讲我提交时遇到的问题:
开始时,我函数返回类型用int,提交时给我一个WA,我就在运行时就令n=20,结果返回 -1459111447,我就意识到是int提供的长度不够,于是就依次将返回类型改为long和long long,发现当返回类型用long long时,给了我一个AC。。。。
#include<iostream>
using namespace std;long long hehe(int n){ //这里返回值要用要用long long,而不能简单地用int
if(n==1)return(0);
if(n==2)return(1);
else return((n-1)*(hehe(n-1)+hehe(n-2)));
}
int main(){
for(int n;cin>>n&&n>0&&n<=20;){
cout<<hehe(n)<<"\n";
}
}