1.循环
//计算阶乘
#include<iostream>
using namespace std;
int fct(int *p) {
int sum=1;
while(*p>=2){
sum*=((*p)--);
}
return sum;
}
int main() {
cout<<"输入你想计算阶乘的n"<<endl;
int n;
cin>>n;
cout<<"n的阶乘是:"<<fct(&n)<< endl;
}
2.递归
//计算阶乘
#include<iostream>
using namespace std;
// 使用递归计算阶乘
int fct(int n) {
if (n==1) return 1;
else return n*fct(n - 1);
}
int main() {
cout<<"输入你想计算阶乘的n"<<endl;
int n;
cin>>n;
cout<<"n的阶乘是:"<<fct(n)<< endl;
}