两种方法解决😁
方法一、循环求阶乘
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n=0,sum=1;
scanf("%d",&n);
for(int i=1;i<=n;i++) {
sum=sum*i;
}
printf("n!= %d",sum);
return 0;
}
方法二、自定义函数
#include <bits/stdc++.h>
using namespace std;
int factorial(int n) {
int sum=1;
for (int i=1;i<=n;i++) {
sum=sum*i;
}
return sum;
}
int main() {
int cnt=0,n;
scanf("%d",&n);
cnt=factorial(n);
printf("n!= %d", cnt);
return 0;
}
当然,也可以用while
循环写
#include <bits/stdc++.h>
using namespace std;
int factorial(int n) {
int sum=1;
while(n>1) {
sum=sum*n;
n--;
}
return sum;
}
int main() {
int cnt=0,n;
scanf("%d",&n);
cnt=factorial(n);
printf("n!= %d", cnt);
return 0;
}