半数集
#include<iostream>
using namespace std;
int fac(int n){
if(n==1)
return 1;
if(n%2==0)
return fac(n/2)+fac(n-1);
else
return fac(n-1);
}
int main(){
int n;
cin>>n;
cout<<fac(n)<<endl;
return 0;
}
这篇博客展示了如何使用C++编程实现一个计算半数集(阶乘)的递归函数。程序通过判断输入数值的奇偶性来决定递归路径,最终输出整数的阶乘结果。
半数集
#include<iostream>
using namespace std;
int fac(int n){
if(n==1)
return 1;
if(n%2==0)
return fac(n/2)+fac(n-1);
else
return fac(n-1);
}
int main(){
int n;
cin>>n;
cout<<fac(n)<<endl;
return 0;
}
344
467

被折叠的 条评论
为什么被折叠?